我对 Laravel 很陌生,并使用以下方法为我的辅助功能实现了服务提供者这个答案 https://stackoverflow.com/a/32422699/4171578 on SO.
它建议:
in the register你新生成的函数
HelperServiceProvider.php 添加以下代码
require_once app_path('Helpers/AnythingHelper.php');
然而,Laravel 文档 https://laravel.com/docs/5.5/providers#writing-service-providers声明 register 方法只能用于将事物绑定到容器中:
如前所述,在 register 方法中,您应该只
将事物绑定到服务容器中。你永远不应该尝试
注册任何事件侦听器、路由或任何其他部分
注册方法中的功能。
在我的例子中,应用程序按原样工作,需要在注册函数中添加一个语句,所以我的问题更多是关于“最佳实践”,而不是使代码工作。
问题:
这是一个好的/可接受的方法(注册方法中的 require 语句),还是我应该将 require 语句移至 boot 方法?
如果您仅在此处放置方法(而不是类),则推荐的方法:
- 在任何你想要的地方创建文件
-
In composer.json
确保将此文件添加到files
里面有钥匙autoload
像这样:
"autoload": {
// here other autoload things
"files": ["app/Helpers/AnythingHelper.php"]
},
Run composer
转储自动加载`
对于类显然你应该使用标准 PSR-4 自动加载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)