توسعه دهنده ارشد وب
تغییرمسیر های تو در تو برای فریمورک لاراول
اخیرا پکیجی به نام Laravel Redirects توسط Andrei Badea منتشر شده که این قابلیت را به ما میدهد که تغییرمسیر (Redirect) های ساده و یا تو در تو را به اپلیکیشنهای لاراولی خود اضافه کنیم.
"" هنگامی که شما در یک اپلیکیشن URL هایی دارید که دارای قابلیت تغییر هستند، این پکیج میتواند از دیدگاه بهینه سازی موتورهای جستجو (SEO) نیز مفید واقع شود. "" (بر گرفته از فایل README پکیج)
ابتدا، این پکیج با استفاده از یک میانافزار ( middleware ) مسیرها را شناسایی میکند و بالقوه کاربران را بر اساس نتایج دریافتی از دیتابیس در جدول تغییرمسیر ها، هدایت میکند.
سپس، شما میتوانید تغییر مسیر دلخواهتان را به مدل پیکربندی شده تغییرمسیر ها اضافه کنید.
در زیر مثالی از نحوه عملکرد تغییرمسیرهای پویا را میبینیم.
- فرض کنیم شما URL ای دارید به نام
original/
- شما یک تغییرمسیر از
original/
بهmodified/
ایجاد میکنید:
Accessing /original will redirect to /modified
- حال شما یک تغییرمسیر دیگر از
modified/
بهmodified-again/
ایجاد میکنید:
Accessing /modified will redirect to /modified-again AND
Accessing /original will redirect to /modified-again
- حال شما یک تغییرمسیر دیگر از
modified-again/
بهmodified-yet-again/
ایجاد میکنید:
Accessing /modified-again will redirect to /modified-yet-again AND
Accessing /modified will redirect to /modified-yet-again AND
Accessing /original will redirect to /modified-yet-again
- حال شما یک تغییرمسیر دیگر از
modified-yet-again/
بهoriginal/
ایجاد میکنید:
Accessing /modified-yet-again will redirect to /original AND
Accessing /modified-again will redirect to /original AND
Accessing /modified will redirect to /original
نصب پکیج
به راحتی از طریق کامپوزر پکیج رو نصب کنید:
composer require neurony/laravel-redirects
فایل کانفیگ رو پابلیش کنید:
php artisan vendor:publish --provider="Neurony\Redirects\ServiceProvider" --tag="config"
فایل مایگریشن رو پابلیش کنید:
php artisan vendor:publish --provider="Neurony\Redirects\ServiceProvider" --tag="migrations"
بعد از پابلیش مایگریشن، با دستور زیر جدول تغییرمسیرها (redirects) را ایجاد کنید:
php artisan migrate
روش استفاده
افزودن میانافزار
برای اینکه عملکرد هدایت شدن اتفاق بیفتد، باید میان افزار RedirectRequests
را اضافه کنید . برای این کار به فایل App\Http\Kernel.php
مراجعه کنید و آدرس کامل این میانافزار را که در زیر آمده است به آرایهmiddlewareGroups$
و به قسمت web اضافه کنید.
Neurony\Redirects\Middleware\RedirectRequests
ساخت تغییرمسیر ها
شما نباید به صورت مستقیم از مدل Redirect
استفاده کنید; زیرا این مدل خود از روی اینترفیس RedirectModelContract
پیاده سازی شده است. استفاده از کلاس Redirect
به صورت مستقیم باعث میشود شما نتوانید به تمام قابلیت های درون مدل دسترسی پیدا کنید.
برای ساخت ریدایرکت های جدید در جدول redirects
به شکل زیر عمل کنید:
برای دیدن اینکه چگونه می توانید قابلیت های مدل Redirect
را گسترش دهید، کامنت های موجود در config/redirects.php
را بررسی کنید.
مطلبی دیگر از این انتشارات
نظرسنجی اولین دورهمی توسعه دهندگان لاراول
مطلبی دیگر از این انتشارات
تغییر مهم مسیریابی (routing) در لاراول 8
مطلبی دیگر از این انتشارات
پیاده سازی نوتیفیکیشن ها با لاراول