欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

laravel中Blade模板指的是什么

小編給大家分享一下laravel中Blade模板指的是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為嘉興企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),嘉興網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Blade模板是是Laravel提供的模板引擎,它簡單強(qiáng)大,Blade允許在視圖中使用原生PHP代碼,Laravel使用的是編譯后的緩存文件,而不是視圖本身,所以Blade對于應(yīng)用程序來說是零開銷。

Blade模板是:

Blade 是 Laravel 提供的模板引擎,它簡單強(qiáng)大。不像其他的 PHP 模板引擎,Blade 允許在視圖中使用原生 PHP 代碼。

實(shí)際上,所有的 Blade 視圖最終都會被編譯成原生 PHP 代碼,緩存在 storage/framework/views 文件夾中。

Laravel 使用的是這些編譯后的緩存文件,而不是視圖本身,所以,Blade 對于應(yīng)用程序來說是零開銷的。當(dāng)你修改了視圖文件,那么它會重新編譯并緩存,以便使用。Blade 視圖以 blade.php 為后綴名,一般存放于 resources/views 文件夾中。

模板繼承:

1、定義布局文件

Blade 模板引擎的主要兩個優(yōu)點(diǎn)是 “模板繼承” 和 “區(qū)塊”。舉一個簡單的例子,一個項(xiàng)目里,幾乎所有的頁面都是一樣的布局,這時候就可以把這個布局提煉出來,作為母版頁,繼承了這個母版頁的的頁面都有一樣的布局效果,成為母版頁的子頁。母版頁還叫布局文件,布局文件就是一個 Blade 視圖:

<!-- Stored in resources/views/layouts/app.blade.php -->
<html>
       <head>
             <title>App Name - @yield('title')</title>
       </head>
       <body>
         @section('sidebar')
               This is the master sidebar.
         @show
         <div class="container">
              @yield('content')
         </div>
       <body>
</html>

布局文件里除了基礎(chǔ)的 HTNL 標(biāo)簽,還使用了兩個指令:@section 和 @yield 。@section定義區(qū)塊,@yield 定義區(qū)塊里的內(nèi)容。

下面。來定義布局文件的子頁。

2、繼承布局文件

子頁中,使用 Blade 的 @extends 指令指定 “繼承” 的布局文件,使用 @section 指令為在布局文件中使用 @section 和 @yield 指令的地方注入內(nèi)容:

<!-- Stored in resources/views/child.blade.php -->
@extends('layouts.app')
@section('title','Page Title')
@section('sidebar')
       <p> This is appended to the master sideebar</p>
@endsection
@section('content')
         <p>This ismy body content. </p>
@endsection

可以看到,在布局文件中使用 @yield 指令的地方,在子頁中仍然使用 @section 注入內(nèi)容;在布局文件中使用 @section 指令定義的一個好處是:在子頁中使用 @section 注入時,可以使用 @parent 指令附加(而非重寫)在布局文件中的內(nèi)容,而在布局文件中使用 @yield 指令定義的地方是做不到的。@parent 指令會在視圖渲染的時替換成布局文件里的內(nèi)容。

注意,與在文件布局里定義的 sidebar 不同的是,子頁里使用 @endsection 結(jié)束,而非 @show 。因?yàn)?@endsection 僅用來定義區(qū)塊,而 @show 是用來定義、立馬產(chǎn)出區(qū)塊的。

從路由中直接返回視圖文件,要用到全局輔助函數(shù) helper :

Route::get('blade', function(){
        return view('child');
})

3、組件&插槽

組件和插槽提供了類似布局和區(qū)塊的優(yōu)點(diǎn)。而組件和插槽的心智模型更符合直覺。設(shè)想一下,在我們的項(xiàng)目中有一個可重復(fù)的 “彈框” 組件:

<!-- Stored resource/views/alter.blade.php -->
<div class="alter alter-danger">
       {{ $slot }}
</div>

{{ $slot }} 表示插入組建的內(nèi)容。構(gòu)建此組件,是使用 Blade 的@component指令:

@component('alter')
        <strong>Whoops!</strong> Something went wrong!
@endcomponent

在這個場景里,{{ $slot }} 變量的內(nèi)容是:

<strong>Whoops! </strong> Something went wrong!

有時一個組件需要多個插槽。這時,只需要稍改組件代碼,定義一個 “標(biāo)題” 插槽,這個插槽稱命名插槽。命名插槽是通過簡單的 “打印” 匹配其名稱的變量來顯示內(nèi)容的:

<!-- Stored resources/views/alter.blade.php-->
<div class="alter alter-danger">
         <div class="alter-title">{{ $title }}</div>
            {{ $slot }}
</div>

為名名插槽注入內(nèi)容,使用 @slot 指令。所有不在 @slot 指令里的內(nèi)容都會傳遞給組件里的 $slot 變量。

@compontent ('alter')
         @slot('title')
            Forbidden
         @endslot
     You are not allowed to access this resource!
@edcompontent~

4、為組建傳遞額外數(shù)據(jù):

有時需要為組建件遞額外數(shù)據(jù)。為此,可以為 @conponent 指令傳遞第二個數(shù)組參數(shù)。指定要傳遞的額外。據(jù)所有過去的額外數(shù)據(jù)作為變量,在組件模板里都可以取的:

@component
     <compontent('alter', ['foo' => 'bar');
         .....
@endCompontent

5、顯示數(shù)據(jù)

向 Blade 視圖傳遞數(shù)據(jù),是通過將變量包裹在 [ ] 里實(shí)現(xiàn)的:

Route::get('greeting', function(){
         return view('welcome', [ 'name' => ''Samantha']);
})

下面就可以使用 name 變量顯示內(nèi)容了:

Hello! {{ $name }}

{{ }} 是 Blade 視圖的打印語句,當(dāng)然,打印語句里不限制只能打印變量內(nèi)容,也可以使用 PHP 函數(shù)。實(shí)際上,打印語句這里可以使用任何 PHP 代碼:

The current UNIX timestamp is {{ time() }}

6、顯示非轉(zhuǎn)移數(shù)據(jù)

默認(rèn),所有傳遞給 Blade {{ }} 語句的內(nèi)容都會使用 htmlspecialchar 函數(shù)處理、將內(nèi)容轉(zhuǎn)義,避免 XSS 攻擊。如果無需轉(zhuǎn)義輸出的內(nèi)容,可以使用下面語法:

Hello! {{!! $name !!}}.

不過千萬要小心,應(yīng)該優(yōu)先選擇使用轉(zhuǎn)義的 {{ }} 語法避免 XXS 攻擊。因?yàn)?,有時你很難避免用戶有意的、無意的數(shù)據(jù)輸入。

看完了這篇文章,相信你對“l(fā)aravel中Blade模板指的是什么”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞標(biāo)題:laravel中Blade模板指的是什么
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article46/gppshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)定制網(wǎng)站、企業(yè)建站建站公司、網(wǎng)站制作、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
韩国av高清在线观看| 国产福利91精品一区二区三| 日本熟妇一区二区三区高清视频 | 欧美激情一区二区亚洲专区| 91免费在线观看国产精品| 亚洲欧美日韩精品一区二| 亚洲国产中日韩精品综合| 国内精品亚洲成av人片麻豆| 91日韩人妻一区二区三区| 欧美大片免费在线播放| 亚洲av乱码国产精品观看| 久久久久久精品国产毛片| 日韩av专区在线免费观看| av在线免费观看美日韩| 日韩成人精品一区欧美成人| 日韩视频看看色网站| 国产交换精品一区二区三区| 国产精品欧美日韩精品| 国产成人综合久久精品推荐| 免费草b视频在线观看| 男人喜欢看的免费视频| 亚洲精品视频在线观看视频| 国产三级三级三级三级| 麻豆精品情欲人妻二区| 粉嫩国产精品一区二区| 亚洲美女高清一区二区三区| 黄色免费av片在线观看| 国产精品欧美日韩高清| 亚洲精品福利一二三区| 九九热视频这里是精品| 日本2区3区视频在线观看| 国产剧情av网址观看免费| 中文字幕亚洲天堂久久| 久久精品国产亚洲av高清观看| 成人黄色18免费网站| 日韩人妻一区中文字幕| 亚洲av日韩av在线不卡一区| 国产成人综合亚洲乱淫.| 韩国三级网站在线观看视频| 日韩国产欧美亚洲一区| 亚洲av区一区二区三|