我正在使用Laravel 5.6并尝试定义刀片指令(在服务提供商的boot()
方法中):
Blade::directive('hello', function () {
return "Hello, World!";
});
但在我看来,当我写@hello
时,它会显示@hello
而不是“hello world”。
我已经完成了artisan view:clear
(以及cache:clear
),但仍然没有结果。
答案 0 :(得分:0)
我相信你还需要打电话。未经测试,但请尝试:
<div>
@hello()
</div>
答案 1 :(得分:0)
我使用Laravel 5.5,它适用于我。
AppServiceProvider.php 文件中的 boot()功能。
public function boot()
{
\Blade::directive('hello', function ($expression) {
return "<?php echo 'Hello ' . {$expression}; ?>";
});
}
内部视图
@hello('Unai')
结果
Hello Unai
答案 2 :(得分:0)
您的表情还可以,视图上的@hello也可以。
您在使用Illuminate\Support\Facades\Blade
吗?
答案 3 :(得分:0)
您必须执行以下操作
包括这一行
use App\TraitsFolder\BladeDirectives;
use Illuminate\Support\Facades\Blade;
并在您的 AppServiceProvider
类中添加此
使用 BladeDirectives;
如果您的 Laravel 服务器正在运行,请停止它并执行以下操作
php artisan cache:clear
php artisan config:clear
php artisan view:clear
然后再次启动服务器。