扩展 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

是我哪里错了吗?

好了,那有人说,你别打印他,假装看不到他,你就好了呀。然而因为是报错了,我才打印的。。。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案
@foreach($data as $v)
    @datetime($v['created_at'])
@endforeach
3年前 评论
hackxiaoya (楼主) 3年前
小李世界 3年前
hackxiaoya (楼主) 3年前
小李世界 3年前
讨论数量: 1
leo
@foreach($data as $v)
    @datetime($v['created_at'])
@endforeach
3年前 评论
hackxiaoya (楼主) 3年前
小李世界 3年前
hackxiaoya (楼主) 3年前
小李世界 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!