2015-11-12 4 views
0

Laravel 5.1: Я определил несколько пользовательских директив внутри BladeServiceProvider (пример ниже). Теперь я хотел бы использовать их за пределами шаблона представления для форматирования строк (я пишу файл EXCEL с PHPExcel в пользовательском классе ExportService). Можно ли повторно использовать мои директивы?Использование директив Blade за пределами шаблонов

Blade::directive('appFormatDate', function($expression) { 
     return "<?php 
     if (!is_null($expression)) { 
      echo date(\Config::get('custom.dateformat'), strtotime($expression)); 
     } 
     else { 
      echo '-'; 
     } 
     ?>"; 
    }); 

ответ

0

BladeCompiler имеет compileString метод, который позволяет использовать директивы Клинок вне взглядов. :)

Таким образом, вы можете сделать что-то вроде этого:

$timestamp = '2015-11-10 17:41:53'; 
$result = Blade::compileString('@appFormatDate($timestamp)'); 
+0

гм, кажется, что compileString возвращает функцию PHP, созданный из пользовательского метода. : - / – herrjeh42

 Смежные вопросы

  • Нет связанных вопросов^_^