laravel封装方法在blade视图中使用

我这里使用的是Laravel7版本(本人只用过7 这里应该和5差别不大吧….)

首先需要在app/Providers/AppServiceProviders.php下的boot方法进行设置

示例:我这里是想在视图中对数据进行json_encode

 1 // 首先先引入Blade
 2 use Illuminate\Support\Facades\Blade;
 3 
 4 // 然后在boot方法中进行设置
 5 public function boot()
 6 {
 7      Blade::directive('json', function($data){
 8         return "<?php echo json_encode({$data}); ?>";
 9     });
10 }

之后在前端就可以使用 @json(数据) 进行操作了

最后推荐大家使用phpStorm,当你写Blade::directive()的时候,你没引入Blade类的话他就会上面自动use了,很方便。

Tags: