在Laravel刀片模板中使用DRY原则

时间:2014-10-08 07:37:33

标签: templates laravel blade code-injection

我试图在我的Blade模板中使用DRY方法。我如何重用@section而不是将它们复制到几个模板。

示例:

@section('job_level_menu')
   @foreach ($job_levels as $job_level)
   <option value="{{{$job_level->id}}}">{{{$job_level->name}}}</option>
    @endforeach
@stop

我希望在许多其他模板中使用此部分,并且我不希望复制它们以实现代码可维护性

其次,我有几个存储库,对我的所有控制器都是通用的。是否可以在BaseController __construct()方法中注入一个存储库,该存储库将在其他控制器中可用。

我尝试了这个,但它不起作用:

class BaseController extends Controller {

    /**
     * @param MenuRepositoryInterface $menu
     */
    public function __construct(MenuRepositoryInterface $menu){

        $this->menu = $menu;

    }
}

1 个答案:

答案 0 :(得分:1)

您可以将此部分保存在单独的文件中以及您需要的文件中,您可以使用:

@include('file_with_section')