آموزش ساخت سیستم مدیریت لینک‌ها

آموزش ساخت سیستم مدیریت لینک‌ها با PHP

آموزش ساخت سیستم مدیریت لینک‌ها با PHP

در این مقاله، به بررسی گام به گام ساخت یک سیستم مدیریت لینک‌ها (Link Manager) با استفاده از زبان برنامه‌نویسی PHP خواهیم پرداخت. این سیستم به شما امکان می‌دهد تا لینک‌های وب‌سایت خود را به صورت متمرکز مدیریت کنید، دسته‌بندی نمایید و به راحتی آن‌ها را در صفحات مختلف وب‌سایت خود نمایش دهید. این آموزش برای توسعه‌دهندگان مبتدی و متوسط PHP مناسب است و سعی شده است تا مفاهیم به صورت کاربردی و قابل فهم ارائه شوند.

بخش اول: طراحی پایگاه داده

اولین قدم در ساخت هر سیستم، طراحی پایگاه داده است. برای سیستم مدیریت لینک‌ها، به یک جدول اصلی نیاز داریم که اطلاعات لینک‌ها را در خود ذخیره کند. جدول پیشنهادی به شرح زیر است:

نام ستون نوع داده توضیحات
id INT (AUTO_INCREMENT) شناسه یکتای لینک
title VARCHAR(255) عنوان لینک
url VARCHAR(255) آدرس اینترنتی لینک
category_id INT شناسه دسته‌بندی لینک (کلید خارجی به جدول دسته‌بندی‌ها)
description TEXT توضیحات لینک
status ENUM(‘active’, ‘inactive’) وضعیت لینک (فعال یا غیرفعال)
created_at TIMESTAMP زمان ایجاد لینک
updated_at TIMESTAMP زمان آخرین به‌روزرسانی لینک

همچنین، برای دسته‌بندی لینک‌ها، به یک جدول دیگر نیاز داریم:

نام ستون نوع داده توضیحات
id INT (AUTO_INCREMENT) شناسه یکتای دسته‌بندی
name VARCHAR(255) نام دسته‌بندی
description TEXT توضیحات دسته‌بندی
created_at TIMESTAMP زمان ایجاد دسته‌بندی
updated_at TIMESTAMP زمان آخرین به‌روزرسانی دسته‌بندی

این دو جدول، ساختار اصلی پایگاه داده سیستم مدیریت لینک‌ها را تشکیل می‌دهند. شما می‌توانید با توجه به نیازهای خود، ستون‌های دیگری را نیز به این جداول اضافه کنید.

بخش دوم: ایجاد فایل‌های PHP

پس از طراحی پایگاه داده، نوبت به ایجاد فایل‌های PHP می‌رسد. فایل‌های اصلی مورد نیاز عبارتند از:

  • config.php: فایل تنظیمات اتصال به پایگاه داده
  • db.php: فایل توابع مرتبط با پایگاه داده (اتصال، پرس و جو و غیره)
  • models/Link.php: فایل مدل لینک (شامل توابع مرتبط با مدیریت لینک‌ها)
  • models/Category.php: فایل مدل دسته‌بندی (شامل توابع مرتبط با مدیریت دسته‌بندی‌ها)
  • controllers/LinkController.php: فایل کنترلر لینک (شامل توابع مدیریت درخواست‌ها و نمایش داده‌ها)
  • controllers/CategoryController.php: فایل کنترلر دسته‌بندی
  • views/links/list.php: فایل نمایش لیست لینک‌ها
  • views/links/add.php: فایل فرم افزودن لینک
  • views/links/edit.php: فایل فرم ویرایش لینک
  • views/categories/list.php: فایل نمایش لیست دسته‌بندی‌ها
  • views/categories/add.php: فایل فرم افزودن دسته‌بندی
  • views/categories/edit.php: فایل فرم ویرایش دسته‌بندی

فایل config.php

این فایل شامل اطلاعات اتصال به پایگاه داده است:


فایل db.php

این فایل شامل توابع اتصال به پایگاه داده و اجرای پرس و جوها است:

connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }
  return $conn;
}

function executeQuery($sql) {
  $conn = connectDB();
  $result = $conn->query($sql);
  $conn->close();
  return $result;
}
?>

فایل models/Link.php

این فایل شامل توابع مرتبط با مدیریت لینک‌ها است:


فایل controllers/LinkController.php

این فایل شامل توابع مدیریت درخواست‌ها و نمایش داده‌ها برای لینک‌ها است:


بخش سوم: ایجاد رابط کاربری (Views)

فایل‌های View مسئول نمایش داده‌ها به کاربر و دریافت ورودی از کاربر هستند. این فایل‌ها معمولاً با استفاده از HTML، CSS و JavaScript ایجاد می‌شوند. در این آموزش، به دلیل محدودیت‌های خروجی، فقط ساختار HTML فایل‌های View را به صورت مختصر ارائه می‌دهیم.

views/links/list.php

<table>
  <thead>
    <tr>
      <th>عنوان</th>
      <th>آدرس</th>
      <th>دسته‌بندی</th>
      <th>وضعیت</th>
      <th>عملیات</th>
    </tr>
  </thead>
  <tbody>
    <?php while ($row = $links->fetch_assoc()) { ?>
      <tr>
        <td><?php echo $row['title']; ?></td>
        <td><?php echo $row['url']; ?></td>
        <td><?php echo $row['category_id']; ?></td>
        <td><?php echo $row['status']; ?></td>
        <td>
          <a href="edit.php?id=<?php echo $row['id']; ?>">ویرایش</a> |
          <a href="delete.php?id=<?php echo $row['id']; ?>">حذف</a>
        </td>
      </tr>
    <?php } ?>
  </tbody>
</table>

views/links/add.php

این فایل شامل یک فرم برای افزودن لینک جدید است.

بخش چهارم: تکمیل و تست سیستم

پس از ایجاد فایل‌های PHP و View، باید سیستم را تکمیل و تست کنید. این شامل ایجاد فایل‌های مربوط به دسته‌بندی‌ها، پیاده‌سازی توابع ویرایش و حذف لینک‌ها، و همچنین تست کامل سیستم برای اطمینان از عملکرد صحیح آن است. همچنین، می‌توانید با استفاده از CSS و JavaScript، رابط کاربری سیستم را بهبود بخشید و تجربه کاربری بهتری را ارائه دهید.

این آموزش، یک نمای کلی از ساخت سیستم مدیریت لینک‌ها با PHP ارائه می‌دهد. با توجه به نیازهای خود، می‌توانید این سیستم را گسترش دهید و امکانات بیشتری را به آن اضافه کنید.