扩展Laravel';s刀片:无法添加扩展


Extend Laravel's Blade: not able to add an extension

我已经在我的Laravel(5.0)项目中注册了一个Blade扩展:

Blade::extend(function($view, $compiler)
{
    // my extension code
);

但是函数从未被激发,扩展也不起作用(不过我用来注册扩展的ServiceProvider被激发了)。我试着把代码放在routes.php文件中,但这也无济于事。我还检查了库中的BladeCompiler类,"compileExtensions"方法从未被激发(这似乎是注册自定义扩展的地方)。

我做错什么了吗?我必须在某个地方注册才能扩展Blade吗?

仅供参考:我已经在每次尝试之前运行了"php-artisan-clear-compiled"(并清除了所有应用程序缓存),所以不是这样。

尝试使用Blade::directive(),例如:

Blade::directive('datetime', function($expression) {
  return "<?php echo with{$expression}->format('m/d/Y H:i'); ?>";
});

您可以在此处找到更多文档:https://laravel.com/docs/5.1/blade#extending-刀片