استفاده از viewها در لاراول
در تعدادی از کلوژرهای مسیرها که قبلا مشاهده کردیم، با عبارتی مثل ('view('account مواجه شدیم؛ این عبارت چیست؟
اگر با الگوی MVC آشنا نیستید، باید بدانید که viewها(یا همان قالب ها)، فایل هایی هستند که تعیین می کنند خروجی برنامه ی ما به چه صورت باشد. viewها می توانند JSON یا XML باشند اما به طور متداول خروجی آنها از نوع HTML است.
در لاراول، دو نوع view وجود دارند:
1. view که از php خالص ایجاد شده باشد.
2. view که با استفاده از انجین Blade ایجاد شده باشد.
بعنوان مثال، فایل با نام about.php از انجین php استفاده می کند و فایل با نام about.blade.php از انجین Blade استفاده می کند.
سه راه متفاوت برای return کردن یک view وجود دارد. یکی از آنها استفاده از متد ()view است. اما اگر دستور ()View::make را در جایی مشاهده کردید، بدانید که مشابه با متد ()view عمل می کند.
در فصل های آینده، در مورد این موارد بحث خواهیم نمود.
وقتی که یک view را (با استفاده از متد های گفته شده) بارگذاری می کنیم، می توانیم آن را return کنیم؛ این موضوع در مثال 3.17 نشان داده شده است. این روش در زمانی که نمی خواهیم بر متغیرهای کنترلر تکیه کنیم مناسب است و به خوبی کار می کند.
(مثال 3.17)
Route::get('/', function () {
return view('home');
});
مثال بالا، به جستجوی یک view در resources/views/home.blade.php یا در resources/views/home.php می گردد و محتوای آن را لود می کند و کدهای خطی php و دیگر کدها را تجزیه و تحلیل می کند. حالا وقتی که شما آن را return کنید، حاصل به کاربر نشان داده خواهد شد.
اما اگر بخواهیم متغیرهایی را به view پاس دهیم باید چکار کنیم؟ به مثال زیر توجه کنید:
(مثال 3.18)
Route::get('tasks', function () {
return view('tasks.index')
->with('tasks', Task::all());
});
این کلوژر فایل resources/views/tasks/index.blade.php یا resources/views/tasks/index.php را لود می کند و یک متغیر به نام tasks را به آن پاس می دهد. در درون این متغیر مقدار متد ()Task::all قرار می گیرد. متد ()Task::all مربوط به دیتابیس است که در فصل 8 مورد بررسی قرار خواهد گرفت.
- نوشته شده توسط احسان عباسی
- بازدید: 2893