ما در لاراول با استفاده از متد fallback می توانیم صفحه مدریت خطا یا همان 404 را به صورت سفارشی ایجاد و مدیریت کنیم.
در لاراول 9 برای ایجاد و مدیریت صفحه 404 از متد “fallback” استفاده می کنیم.
متد fallback در لاراول
کار با این متد بسیار سادست، مثال زیر رو ببینید.
// return message
Route::fallback(function () {
return ('page not found');
});
// return view
Route::fallback(function () {
return view('error');
});
در قسمت اول ما یک پیام متنی رو در صورت پیدا نکردن روت یا صفحه درخواستی بازگشت دادیم اما می تونیم به جای پیام متنی بک view رو برگردونیم (خط کد 6).
اما اصولی و بهینه تر هست که برای صفحه 404 هم یک کنترلر و view مجزا ایجاد کنیم تا بر اساس ساختار لاراول یکپارچگی بیشتری داشته باشیم. به چه شکل؟
گام اول
1) وارد ترمنیال میشم و با استفاده از دستور زیر یک کنترلر به نام fallbackController برای مدیریت صفحه 404 ایجاد می کنم.
php artisan make:controller FallbackController
وارد کنترلی که ایجاد کردم میشم و یک تابع از نوع “invoke” به شکل زیر براش می نویسم، اگر مقاله های قبلی رو مطالعه کرده باشید میدونیم که برای روت های تک منظوره یا مسیرهایی که قرار هست تنها یک پردازش از طریق آنها ارسال شود، متد رو از نوع “invoke” تعریف می کنیم.
وارد کنترلی که ایجاد کردم میشم و یک تابع از نوع “invoke” به شکل زیر براش می نویسم، اگر مقاله های قبلی رو مطالعه کرده باشید میدونیم که برای روت های تک منظوره یا مسیرهایی که قرار هست تنها یک پردازش از طریق آنها ارسال شود، متد رو از نوع “invoke” تعریف می کنیم.
گام دوم
2) یک پوشه به نام “fallback” در پوشه “views” ایجاد می کنم، در این پوشه فایلی با نام “index.blade.php” تعریف می کنم که قراره محتوای صفحه خطا یا همان صفحه 404 باشد.
گام سوم
3) حالا باید در فایل “web.php” روت کنترلرمون رو به شکل زیر اضافه کنیم.
Route::fallback(FallbackController::class);
و تمام!!
جمع بندی
در این مقاله کوتاه سعی کردم نحوه ایجاد و مدیریت صفحه 404 در لاراول نسخه 9 رو توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.
لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.