آموزش رایگان PHP

آموزش ساخت سیستم روتینگ (Routing) ساده در PHP طبق استانداردهای گوگل

1405/08/02 15:20 محراب حسن زاده
آموزش ساخت سیستم روتینگ (Routing) ساده در PHP طبق استانداردهای گوگل

مقدمه؛ چرا به سیستم روتینگ (Routing) نیاز داریم؟

در پروژه‌های قدیمی PHP، برای هر صفحه یک فایل مجزا مانند about.php یا contact.php ساخته می‌شد. این روش نه تنها توسعه پروژه را سخت می‌کرد، بلکه از نظر سئو (SEO) نیز مطلوب نبود. گوگل به شدت روی خوانایی و تمیز بودن URLها حساس است.

سیستم روتینگ به ما اجازه می‌دهد تمام درخواست‌ها را به یک فایل واحد (معمولاً index.php) هدایت کرده و بر اساس آدرس وارد شده توسط کاربر، بخش مناسب را نمایش دهیم.

گام اول: پیکربندی فایل .htaccess

برای شروع، باید به وب‌سرور آپاچی بگوییم که تمام درخواست‌ها را به فایل index.php بفرستد، مگر اینکه درخواست برای یک فایل واقعی (مثل عکس یا CSS) باشد. برای این کار یک فایل به نام .htaccess در روت پروژه ایجاد کنید:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

گام دوم: طراحی کلاس روتینگ (Router.php)

حالا یک کلاس ساده برای مدیریت مسیرها می‌نویسیم. این کلاس مسئول ثبت مسیرها (Routes) و اجرای تابع مربوط به هر مسیر (Callback) است:


class Router {
    private $routes = [];

    // ثبت مسیر جدید
    public function add($route, $callback) {
        $route = trim($route, '/');
        $this--->routes[$route] = $callback;
    }

    // بررسی و اجرای مسیر منطبق
    public function dispatch($url) {
        $url = trim($url, '/');
        foreach ($this->routes as $route => $callback) {
            if ($route === $url) {
                if (is_callable($callback)) {
                    return call_user_func($callback);
                }
            }
        }
        // در صورت عدم وجود مسیر
        header("HTTP/1.0 404 Not Found");
        echo "< h2 > صفحه مورد نظر یافت نشد (404) < / h2 >"; 
}
 } 

گام سوم: راه اندازی فایل index.php (Front Controller)

حالا تمام بخش‌ها را در فایل اصلی پروژه یعنی index.php به هم متصل می‌کنیم:


require_once 'Router.php';

$router = new Router();

// تعریف مسیرها
$router->add('', function() {
    echo "
< h2 > به صفحه اصلی خوش آمدید < / h2 >

< p > این صفحه با روتینگ استاندارد لود شده است. < / p >";
 });
 $router->add('about', function() {
 echo "
< h2 > درباره ما < / h2 >

< p > ما یک تیم توسعه دهنده پرانرژی هستیم.< / p >

< p > "; 
});
 $router->add('contact', function() { 
echo "
< h2 > تماس با ما < / h2 >
< p > از طریق ایمیل info@example.com با ما در ارتباط باشید. < / p >";
 }); // دریافت آدرس فعلی و اجرای روتینگ $url = isset($_GET['url']) ? $_GET['url'] : ''; $router->dispatch($url); 

نتیجه‌گیری و مزایای سئو (SEO)

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

  • آدرس‌های تمیز (Clean URLs): دیگر خبری از پسوندهای نامناسب مثل .php نیست.
  • مدیریت خطای ۴۰۴ استاندارد: گوگل صفحات شکسته را شناسایی کرده و نمره منفی نمی‌دهد.
  • یکپارچگی و امنیت بالا: تمام ورودی‌ها از یک نقطه کنترل می‌شوند.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش ساخت اولین فایل PHP و بررسی ساختار تگ‌ها بر اساس استاندارد وب
1405/03/15 00:08

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

مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
1402/06/06 23:51

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

مطالعه بیشتر
آموزش گام به گام اتصال به دیتابیس با MySQLi در PHP (امن و استاندارد)
1405/05/04 23:40

آموزش گام به گام اتصال به دیتابیس با MySQLi در PHP (امن و استاندارد)

مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
1402/11/02 23:23

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر

مطالعه بیشتر
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها
1403/06/02 20:49

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
1402/06/05 23:30

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر
راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)
1405/05/13 21:19

راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)

مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML
1402/05/23 23:10

آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML

مطالعه بیشتر
آموزش کامل ارسال ایمیل با PHP بر اساس استانداردهای جدید گوگل (2024)
1405/08/02 15:38

آموزش کامل ارسال ایمیل با PHP بر اساس استانداردهای جدید گوگل (2024)

مطالعه بیشتر
آموزش جامع توابع داخلی و پرکاربرد PHP + مثال‌های عملی
1405/04/16 01:18

آموزش جامع توابع داخلی و پرکاربرد PHP + مثال‌های عملی

مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ
1402/06/28 23:20

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

مطالعه بیشتر
آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها
1402/11/02 23:10

آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد