Laravel 5.1:我在BladeServiceProvider中定义了一些自定义指令(下面的示例)。现在我想在视图模板之外使用它们来格式化字符串(我在自定义的ExportService类中用PHPExcel编写EXCEL文件)。可以重用我的指令吗?
Blade::directive('appFormatDate', function($expression) {
return "<?php
if (!is_null($expression)) {
echo date(\Config::get('custom.dateformat'), strtotime($expression));
}
else {
echo '-';
}
?>";
});
答案 0 :(得分:2)
BladeCompiler
有compileString
方法,允许您在视图外使用Blade指令。 :)
所以,你可以这样做:
$timestamp = '2015-11-10 17:41:53';
$result = Blade::compileString('@appFormatDate($timestamp)');