如何在运行时加载自定义Blade视图或添加自定义视图路径?
运行时加载自定义目录Blade视图的方法
方法一:直接渲染指定Blade文件
无需修改任何配置,直接使用view()->file()方法传入文件完整路径即可:
return view()->file(base_path('my/custom/path/bladeinmycustompath.blade.php'));
方法二:动态添加视图路径
之前通过Config::set修改视图路径无效,是因为视图工厂初始化后不会再读取配置变更。正确方式是调用视图工厂的addLocation()方法添加路径:
// 动态添加自定义视图目录 view()->addLocation(base_path('my/custom/path')); // 直接通过视图名称加载 return view('bladeinmycustompath');
如果自定义目录存在子目录或担心视图名冲突,可使用addNamespace()设置命名空间:
// 为自定义目录绑定命名空间 view()->addNamespace('custom', base_path('my/custom/path')); // 通过命名空间前缀加载视图 return view('custom::bladeinmycustompath');
内容的提问来源于stack exchange,提问作者Toby Allen
相关产品推荐
相关产品推荐

