我对Laravel很陌生,并在SO.上使用这个答案实现了我的助手功能的服务提供商
建议:
在新生成的寄存器函数中HelperServiceProvider.php添加以下代码
require_once app_path('Helpers/AnythingHelper.php');
然而,Laravel文档指出,register方法只能用于将东西绑定到容器中:
如前所述,在register方法中将事物绑定到服务容器中。你永远不应该尝试注册任何事件侦听器、路由或任何其他寄存器方法中的功能。
在我的情况下,应用程序按原样运行,在register函数中需要一条语句,所以我的问题更多的是关于"最佳实践",而不是让代码正常工作。
问题:
这是一个好的/可接受的方法(寄存器方法中的require语句),还是应该将require语句移到引导方法?
如果你只在这里放方法(而不是类),推荐的方法是:
- 在任意位置创建文件
-
在
composer.json
中,确保将此文件添加到autoload
内的files
密钥中,如下所示:"autoload": { // here other autoload things "files": ["app/Helpers/AnythingHelper.php"] },
-
运行
composer
转储自动加载`
对于类,显然应该使用标准PSR-4自动加载