لاراول در هر ورژنی که بیرون میده ، معمولا چند تابع جدید به عنوان helper به سیستم خودش اضافه میکنه تا کار توسعه دهنده ها رو ساده تر کنه . در این پست سعی دارم ، نحوه چک کردن انیکه ، آیا یک View وجود داره یا نه رو به شما ، با استفاده از یکی از همین Helper ها آموزش بدم .
قبل از اینکه بریم سراغ کد ، بزارید با مثال به شما توضیح بدم ، فرض کنید شما یه سری دسته بندی دارید برای مثال ویو دسته بندی موبایل با دسته بندی وسایل سرگرمی متفاوته و همینطور گاهی اوقات اگر یک ویو به یک دسته بندی خاص اختصاص ندادیم باید یک ویو پیش فرض براش لود بشه . خوب این کار به سادگی قابل انجامه ، اگر کد زیر رو به دقت بخونید ، میتونید متوجه روش کار مثال بالا بشین .
class CategoryController extends Controller
{
public function show($slug)
{
$category = Category::with('posts')->where('slug', $slug)->firstOrFail();
if (view()->exists('category.custom.'.$category->slug)) {
$view = 'category.custom.'.$category->slug;
} else {
$view = 'category.show';
}
return view($view, [
'category' => $category,
]);
}
}
خب در کدهای بالا چه اتفاقی افتاده ؟ یک کنترل به اسم CategoryController در اینجا داریم که یکسری اطلاعات رو با استفاده از مدل Category برای ما بر میگردونه خوب در قسمت بعد ما با استفاده از متد exists میایم چک میکنیم که آیا یک ویو خاص وجود داره یا خیر اگر وجود داشت داخل شرط اجرا میشه و اگر هم نداشت ویو پیشرفض اجرا میشه . به همین سادگی با استفاده از این تابع میتونید کارهای مختلفی مثل کار بالا رو انجام بدید .
اگر سوالی در این رابطه داشتید در بخش نظرات سوال خودتون رو مطرح کنید امیدوارم این نکته سری مورد استفاده دوستان قرار بگیره .
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید