我正在尝试创建一个替代视图并找到了这个答案:
建议使用此代码
View::addLocation(app('path').'/themes/default');
View::addNamespace('theme', app('path').'/themes/default');
但不能决定在哪里声明这些语句。我可以在哪个文件中使用此代码?
start.php,path.php,app.php,global.php 或在另一个文件中。
我正在尝试创建一个替代视图并找到了这个答案:
建议使用此代码
View::addLocation(app('path').'/themes/default');
View::addNamespace('theme', app('path').'/themes/default');
但不能决定在哪里声明这些语句。我可以在哪个文件中使用此代码?
start.php,path.php,app.php,global.php 或在另一个文件中。
如果使用app/config/view.php配置文件(通过paths
数组)添加视图加载位置不足以满足您的需求,您可以将其放入服务提供程序中。
Laravel 实际上使用 View Library 的Service Provider来注册视图路径位置(基于app/config/view.php
前面提到的配置文件)。
您可以做的一件事是添加您自己的服务提供者类并在那里添加您的视图逻辑,以便根据需要添加位置/命名空间。(您甚至可以让您的服务提供商读取您自己的配置文件以确定位置/命名空间)。
如果您在创建服务提供者时需要帮助/不知道该放在哪里,请阅读有关创建 Laravel 应用程序库的内容。
如果这就是你要做的全部,把它放在里面app/start/global.php
就可以了。对于这样一个简单的任务,真的不需要新的服务提供商。
但是,如果一段时间后您意识到您的global.php
文件开始变得过于沉重和凌乱,那么您应该寻求服务提供商,正如@fideloper 提到的那样。