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

Laravel-在服务提供商中需要php脚本,php,laravel,laravel-5,composer-php,laravel-5.5,Php,Laravel,Laravel 5,Composer Php,Laravel 5.5,我对Laravel很陌生,并使用on-SO为我的助手函数实现了服务提供者 它建议: 在新生成的 php添加以下代码 require_once app_path('Helpers/AnythingHelper.php'); 但是,声明register方法只能用于将内容绑定到容器中: 如前所述,在register方法中,您应该 将东西绑定到服务容器中。你不应该试图 注册任何事件侦听器、路由或任何其他 寄存器方法中的功能 在我的例子中,应用程序按原样工作,在register函数中需要一条语句,因此我

我对Laravel很陌生,并使用on-SO为我的助手函数实现了服务提供者

它建议:

在新生成的 php添加以下代码

require_once app_path('Helpers/AnythingHelper.php');
但是,声明register方法只能用于将内容绑定到容器中:

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

在我的例子中,应用程序按原样工作,在register函数中需要一条语句,因此我的问题更多的是“最佳实践”,而不是让代码工作

问题:


这是一种好的/可接受的方法(register方法中的require语句),还是我应该将require语句移到boot方法中?

如果您只在此处放置方法(而不是类),建议使用这种方法:

  • 在任意位置创建文件
  • composer.json
    中,确保将此文件添加到
    文件中
    自动加载中键入以下内容:

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


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

    ,所以你会说,对于帮助函数之类的东西,完全放弃服务提供程序的方法,通过composer来处理,对吗?如果你有带有简单函数的文件,我看不到使用服务提供程序的任何意义,你可以使用composer自动加载这些文件。在Laravel中,对于辅助文件也会执行相同的操作。只要看一下,您就会看到
    src/illumb/Foundation/helpers.php“
    以这种方式加载是有意义的,我将通过composer进行处理:)但理论上假设我希望将其保留在提供的服务中,是否应该将require语句移动到boot方法?我只是想确保我正确理解了文档的内容——除了将内容(即使用应用程序的bind、singleton、instance等方法)绑定到容器之外,register方法中是否存在一个大的“no no”?默认情况下,是否应该将任何其他内容移动到引导方法?