這篇文章將為大家詳細講解有關(guān)laravel中視圖功能有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
傳統(tǒng)MVC模式,分為模型、控制器和視圖。視圖是用來存放html文件的,laravel的視圖文件存放在resources/views目錄下。下面來創(chuàng)建一個視頻
創(chuàng)建視圖
Route::get('/v1', function () { return view('v1'); });
建立resources/views/v1.blade.php文件,內(nèi)容如下:
<html> <body> <h2> hello world </h2> </body> </html>
子目錄視圖
對于子目錄的視圖,要使用.操作符來指定。比如,resources/views/home/index.blade.php,那么則需要
return view(home.index);
判斷視圖是否存在
有時候需要判斷一個視圖是否存在,需要使用exists方法。如下:
if (view()->exists('v1')) { // }
向視圖傳遞數(shù)據(jù)
一般視圖中使用純html的情況時非常少了,經(jīng)常需要向視圖傳遞參數(shù)。在laravel中,有幾種方法可以向視圖傳遞參數(shù)??梢栽趘iew函數(shù)中的第二個參數(shù)中傳遞一個關(guān)聯(lián)數(shù)組,這樣視圖就可以拿個該數(shù)據(jù)了,如下:
return view('v1', ['name' => 'laravel', 'act' => 'study']);
在視圖中使用參數(shù)需要使用{{$key}}
<p>{{$act}} {{$name}}</p>
還可以使用with方法來傳遞參數(shù),該方法支持連貫操作
return view('v1') ->with(['name' => 'laravel', 'act' => 'study']) ->with('title', 'php.cn');
所有視圖共享數(shù)據(jù)
在多個視圖內(nèi)共享數(shù)據(jù)是一個常見的需求,可以在app/Providers/appServiceProvider中設(shè)置;
public function boot() { // view()->share('key', 'val'); }
視圖合成器與構(gòu)造器
視圖合成器與構(gòu)造器類似于php類中構(gòu)造函數(shù)與析構(gòu)函數(shù),合成器是在視圖展示之前執(zhí)行的一段業(yè)務(wù)邏輯,而構(gòu)造器則是在視圖渲染完畢后執(zhí)行的一段業(yè)務(wù)邏輯。
因為用到的不多,所以關(guān)于視圖的合成器和構(gòu)造器這里就不演示如何操作了。有興趣的童鞋可以自行查詢文檔。
視圖的編譯文件
視圖文件是需要編譯的,編譯產(chǎn)生的文件保存在storage/framework/views文件下。默認情況下,視圖文件是按需編譯的,但編譯文件不存在或視圖文件做了修改時,視圖文件就會被重新編譯。但是,在獲取請求時編譯視圖文件會有性能影響。因此,laravel提供了一個工具,可以一次性編譯所有視圖文件。
php artisan view:cache
于此向?qū)?yīng)的還有刪除所有視圖的編譯文件命令
php artisan view:clear
關(guān)于laravel中視圖功能有什么用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁題目:laravel中視圖功能有什么用-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.rwnh.cn/article14/djhsde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號、定制網(wǎng)站、品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)