برنامه نویسی

آموزش مقدماتی لاراول_بخش چهارم:Viewها

آموزش مقدماتی لاراول_بخش چهارم:Viewها

در مدل MVC که در بخش های قبلی نشان دادیم ، viewها (همان قالب ها ) فایل هایی هستند که چگونگی به نمایش درآمدن یک خروجی را مشخص میکنند .

ممکن است view های مختلفی برای نمایش نمایش داده های XML JSON یا ایمیل داشته باشید، اما متداول ترین آنها در فریم ورک های وب ، به صورت HTML هستند .

در لاراول ، دو فرمت از view ها وجود دارد که میتوان از آنها استفاده کرد : PHP ساده یا قالب های BLADE

تفاوت آنها در نام آنهاست . about.php با موتور خود PHP اما about.blade.php با موتور BLADE تفسیر و نمایش داده میشوند.

سه راه برای نمایش view ها:

سه راه مختلف برای برگرداندن یک view وجود دارد. فعلا فقط view() را در نظر داشته باشید و اگر به دستور View::make() برخوردید بدانید که همان کار را انجام میدهد.

علاوه بر این درصورت تمایل میتوانید illuminate\View\ViewFactory را نیز فراخوانی کنید.

برگرداندن یک view با استفاده از تابع view() مخصوصا زمانی که به هیچ پارامتری نیاز نداشته باشد ، بسیار ساده است.

به عنوان مثال :

Route::get('/' , function() {
return view('home');
});

این کد ابتدا به دنبال viewی مورد نظر در resource/views/home.blade.php یا resource/views/home.php میگردد، سپس محتوای آن را بارگزاری کرده و تمامی دستورات php درون خطی یا سایر دستورات کنترلی را تفسیر میکند و خروجی آنهارا برمیگرداند. سپس خروجی به جریان اصلی برنامه تحویل داده شده و نهایتا به کاربر نمایش داده میشود.

اما اگر بخواهیم متغیر هایی را برای آن ارسال کنیم چگونه است ؟

به مثال زیر توجه کنید :

Route::get('tasks' , function() {
return view('tasks.index')->with('tasks' , Task::all() );
});

Closure فوق ابتدا فایل view را از resources/tasks/index.blade.php یا resources/tasks/index.php بارگزاری کرده و متغیری به نام tasks را برای آن ارسال میکند.

این متغیر حامل خروجی دستورالعمل Task::all() است که یک پرس و جوی پایگاه داده مبتنی بر Eloquent میباشد که بعدا در این مورد بحث خواهیم کرد.

از آنجایی که برای مسیر ها ، برگرداندن یک view آن هم بدون داده اضافی ، امری بسیار متداول است.

این امکان برای شما فراهم شده است تا بدون استفاده از closure ها ، متد ها و کنترلرگرهای اضافی ، مسیر هایی تعریف کنید که مستقیما یک view را برگردانند.

در مثال زیر دقت کنید:

Route::view( '/' , 'Welcom');
Route::vew( '/' , 'Welcom' , ['User' => 'Micheal'] );

محمد هاشم زاده

متخصص و مدرس زبان های برنامه نویسی : php , python و فریم ورک لاراول


برای ارسال دیدگاه لطفا ثبت نام کنید

نظرات کاربران