2015-09-19 81 views
0

tl;博士:我在找Twig中的「template_from_string」之類的東西。Laravel 5/5.1 - 從字符串渲染刀片模板

長版(包括用例):

我有一個像「你好| NAME_OF_RECIPIENT | Lorem存有...更多的東西..更多動態數據......」這樣的字符串,我找很好的替代方法| NAME_OF_RECIPIENT |使用刀片的功能設置像指令和變量等動態數據 我發現Blade的compileString方法,它返回編譯的PHP腳本,很好,但我想要替換字符串(即「你好,彼得」)。

Laravel版本是5.1。

回答

2

Laravel提供本地化服務。你可以使用這項服務來實現你想要的功能,如果你決定在將來使用你的應用程序使用多種語言,你可以輕鬆做到這一點。看看localization documentation

您可以像在「在語言行中替換參數」一節中那樣將數據傳遞給語言字符串。然後你使用trans輔助函數在刀片上顯示它。

{{ trans('welcome', ['name' => 'Peter']) }} 
1

在你的語言文件:

return [ 
    "message" => "Hello :name, you are :age years old!", 
]; 

從刀片模板:

@lang('message', [ 
    'name' => 'Peter', 
    'age' => 23, 
]) 

顯示:

"Hello Peter, you are 23 years old!" 

Laravel將自動與替換與供應:name d名稱和age提供的年齡。你可以做任何數量的變量。

您可以在Laravel localization docs中閱讀更多關於它的信息,但由於某些原因,我找不到任何關於@lang函數的提及。