我是Laravel的新手,并在SO上使用this answer为我的帮助函数实现了服务提供程序。
建议:
在新生成的注册函数中 HelperServiceProvider.php添加以下代码
require_once app_path('Helpers/AnythingHelper.php');
但是,Laravel docs表示注册方法只应用于将事物绑定到容器中:
如前所述,在寄存器方法中,您应该只 将东西绑定到服务容器中。你永远不应该尝试 注册任何事件监听器,路由或任何其他部分 寄存器方法中的功能。
在我的情况下,应用程序按原样运行,需要在注册函数中声明,所以我的问题更多的是关于“最佳实践”而不是使代码工作。
问题:
这是一个好的/可接受的方法(在寄存器方法中需要声明),还是我应该将require语句移动到引导方法?
答案 0 :(得分:1)
如果你只在这里放置方法(不是类),推荐的方法:
在composer.json
中,请确保将此文件添加到files
内的autoload
键,如下所示:
"autoload": {
// here other autoload things
"files": ["app/Helpers/AnythingHelper.php"]
},
运行composer
dump-autoload`
对于课程显然你应该使用标准的PSR-4自动加载