2

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 '-';
         }
         ?>";
    });
4

1 に答える 1

2

BladeCompilerにはメソッドcompileStringがあり、ビューの外で Blade ディレクティブを使用できます。:)

したがって、次のようなことができます。

$timestamp = '2015-11-10 17:41:53';
$result = Blade::compileString('@appFormatDate($timestamp)');
于 2015-11-12T17:32:57.337 に答える