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

时间:2017-11-02 16:25:46

标签: php laravel laravel-5 composer-php laravel-5.5

我是Laravel的新手,并在SO上使用this answer为我的帮助函数实现了服务提供程序。

建议:

  

在新生成的注册函数中   HelperServiceProvider.php添加以下代码

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

但是,Laravel docs表示注册方法只应用于将事物绑定到容器中:

  

如前所述,在寄存器方法中,您应该只   将东西绑定到服务容器中。你永远不应该尝试   注册任何事件监听器,路由或任何其他部分   寄存器方法中的功能。

在我的情况下,应用程序按原样运行,需要在注册函数中声明,所以我的问题更多的是关于“最佳实践”而不是使代码工作。

问题:

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

1 个答案:

答案 0 :(得分:1)

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

  1. 随时随地创建文件
  2. composer.json中,请确保将此文件添加到files内的autoload键,如下所示:

    "autoload": {
        // here other autoload things
    
        "files": ["app/Helpers/AnythingHelper.php"]
    },
    
  3. 运行composer dump-autoload`

  4. 对于课程显然你应该使用标准的PSR-4自动加载