Laravel-在服务提供商中需要php脚本



我对Laravel很陌生,并在SO.上使用这个答案实现了我的助手功能的服务提供商

建议:

在新生成的寄存器函数中HelperServiceProvider.php添加以下代码

require_once app_path('Helpers/AnythingHelper.php');

然而,Laravel文档指出,register方法只能用于将东西绑定到容器中:

如前所述,在register方法中将事物绑定到服务容器中。你永远不应该尝试注册任何事件侦听器、路由或任何其他寄存器方法中的功能。

在我的情况下,应用程序按原样运行,在register函数中需要一条语句,所以我的问题更多的是关于"最佳实践",而不是让代码正常工作。

问题:

这是一个好的/可接受的方法(寄存器方法中的require语句),还是应该将require语句移到引导方法?

如果你只在这里放方法(而不是类),推荐的方法是:

  1. 在任意位置创建文件
  2. composer.json中,确保将此文件添加到autoload内的files密钥中,如下所示:

    "autoload": {
    // here other autoload things
    "files": ["app/Helpers/AnythingHelper.php"]
    },
    
  3. 运行composer转储自动加载`

对于类,显然应该使用标准PSR-4自动加载

相关内容

  • 没有找到相关文章

最新更新