داکیومنت رسمی الوند داکیومنت رسمی الوند
سیستم مسیریابی URL

سیستم مسیریابی URL

با استفاده از این پلتفرم می توانید با نحوه کد نویسی سیستم مدیریت محتوا الوند آشنا شوید.

متوسط نویسنده: تیم الوند به‌روزرسانی: 1405/02/22

سیستم مسیریابی در AlvandCMS یکی از پیچیده‌ترین و قدرتمندترین اجزای هسته است که در فایل core/modules.php پیاده‌سازی شده. این سیستم با تابع analyzeUrl() همه درخواست‌های HTTP را تجزیه و به بخش‌های مناسب هدایت می‌کند.

معماری مسیریابی


Request URL
    |
    v
analyzeUrl()
    |
    +-- normalizePath (حذف اسلش‌های اضافی)
    +-- segment analysis (تجزیه بخش‌های URL)
    +-- folder resolution (تشخیص پوشه اصلی)
    +-- database lookups (جستجوی محتوا)
    +-- route resolution (تعیین مسیر نهایی)
    |
    v
Output Array (نتیجه نهایی)

ساختار خروجی analyzeUrl()

تابع analyzeUrl() یک آرایه شامل اطلاعات کامل مسیریابی برمی‌گرداند:

php
[
    'folder'        => 'admin|shop|blog|...',
    'segments'      => [...],
    'second'        => '...',
    'slug'          => '...',
    'params'        => [...],
    'db_lookup'     => [...],
    'route'         => '...',
    'template'      => '...',
    'content_type'  => 'post|page|product|...',
    'decoded_url'   => '...',
    'has_farsi'     => true|false,
]

انواع مسیرهای شناسایی شده

سیستم مسیریابی به طور خودکار انواع زیر را تشخیص می‌دهد:

    1. /admin/ - پنل مدیریت
    1. /blog/ - وبلاگ
    1. /shop/ - فروشگاه
    1. /page-slug - برگه‌ها
    1. /post-slug - پست‌ها
    1. /category/slug - دسته‌بندی‌ها
    1. /author/username - نویسندگان
    1. /tag/slug - برچسب‌ها
    1. /node-type/slug - گره‌های سفارشی
    1. /my-account/ - حساب کاربری
    1. /cart - سبد خرید
    1. /checkout - تسویه حساب
    1. /api/ - درخواست‌های API

قابلیت URL فارسی

AlvandCMS از URLهای فارسی با استفاده از urlencode() و urldecode() پشتیبانی می‌کند. پارامتر has_farsi در خروجی مسیریابی مشخص می‌کند که آیا URL شامل کاراکترهای فارسی است.

هوک‌های مسیریابی

هوکنوعتوضیح
analyze_url/seo_resolutionفیلترتفکیک SEO در مسیریابی مدرن
analyze_url/resultفیلترتزریق اسکیما به نتیجه مسیریابی

هدایت به کنترلرها

پس از تشخیص مسیر، سیستم فایل مناسب را از core/system/admin/, core/system/api/ یا قالب‌های تم شامل می‌کند.

2 رأی
داکیومنت رسمی الوند
© تمامی حقوق برای شرکت دیجیتال نگاران ایرانیان. کلیه حقوق محفوظ است.