扩展 Blade 自定义指令调用总是有问题。
我是根据手册这里来写的。
Blade 模板《Laravel 6 中文文档》
我的需求是,我想自定义一个时间。
我在模版里使用了foreach ,里面有一个created_at的时间。
created_at内容是2020-07-14 09:00:00 这样的
我想输出的是2020-07-14
我在App\Providers\ServiceProvider里的boot里面定义了一个和官方例子一模一样的。
public function boot()
{
//
Blade::directive('datetime', function ($expression) {
dd($expression);
return "<?php echo ($expression)->format('m/d/y'); ?>";
});
}
然后我在blade模版里调用的时候是这样的:{{@datetime($v[‘created_at’]) }}
@foreach($data as $v)
{{ @datetime($v['created_at']) }}
@endforeach
那么问题来了。我在函数方法里打印了$expression 竟然是$v[‘created_at’],并没有把时间渲染出来。为啥呢?我理想中$expression应该是2020-07-14 09:00:00
是我哪里错了吗?
好了,那有人说,你别打印他,假装看不到他,你就好了呀。然而因为是报错了,我才打印的。。。