blade自定义指令好像不能被包起来
参照官方手册写了一个自定义指令,判断是否是手机:
Blade::directive('isMobile', function ($expression) {
$isM = self::isMobile();
return isM; // 这个位置反正不是false就是true
});
调用的时候:
@isMobile()
// 实际上这样调用的
那么问题来了,我单纯这样调用没啥意义呀,我是不是应该写个if呢。对吧,那我就这么写:
@if(@isMobile())
是手机,我显示这里。
@end
// 我天真了,我以为可以这样使用,然而并不可以
// 那么我是不是去掉一个@就好了呢? 我就这么写
@if(isMobile())
是手机,我显示这里。
@end
//结果,依然是不行的。所以到底这个咋办?
我自己来回答一下。这个方法可以:Blade 模板《Laravel 8 中文文档》