W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Blade 甚至允許你定義自己的控制語法結(jié)構(gòu)。 當(dāng)一個 Blade 文件被編譯時, 每一個自定義的擴展語法會與視圖內(nèi)容一起被調(diào)用, 您可以做任何的操作, 簡單如 str_replace
以及更為復(fù)雜的正則表達式。
Blade 的編譯器帶有一些輔助方法 createMatcher
及 createPlainMatcher
,這些輔助方法可以產(chǎn)生您需要的表達式來幫助您構(gòu)建自己的自定義擴展語法。
其中 createPlainMatcher 方法是用在沒有參數(shù)的語法指令如 @endif
及 @stop
等, 而 createMatcher 方法是用在帶參數(shù)的語法指令中。
下面的例子創(chuàng)建了一個 @datetime($var)
語法命令, 這個命令只是簡單的對 $var 調(diào)用 ->format() 方法:
Blade::extend(function($view, $compiler)
{
$pattern = $compiler->createOpenMatcher('datetime');
return preg_replace($pattern, '$1<?php echo $2->format(\'m/d/Y H:i\')); ?>', $view);
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: