php - 自动将 ServiceProviders laravel 添加到 config/app.php 并自动加载配置

标签 php laravel laravel-5 composer-php laravel-5.3

所以我正在使用 laravel 5.3,并且我刚刚为我创建的 CMS 创建了我的第一个裸包。 它工作正常但是我不想手动添加到 composer.json autoload 我希望这可以通过拖放或管理区域中的选择选项自动完成,例如:

"autoload": {
            "classmap": [
                "database"
            ],
            "psr-4": {
                "App\\": "app/",
                "Corium\\MediaManager\\" : "packages/corium/mediaManager/src"
            }
        },

然后我想要这个:Corium\MediaManager\MediaManagerServiceProvider::class, 添加到 config/app.php 提供程序数组,最终用户不需要输入后端代码。这样做的最佳方法是什么,因为我不知道如何让它工作。 谢谢

最佳答案

向应用程序注册服务几乎应该总是在服务提供者内完成。如您所知,服务提供商已在 config/app.php 中注册,因此您必须手动注册至少一个提供商。但是,在该提供程序中,您可以访问作为应用程序实例的 app 属性,您可以对其调用 register 方法来注册其他提供程序。通过这种方式,您可以预先注册一个提供者,并根据需要在代码中注册其他提供者。

关于 Writing Service Providers 的文档应该让你开始。

关于php - 自动将 ServiceProviders laravel 添加到 config/app.php 并自动加载配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517414/

相关文章:

php - 在 Laravel 中计算坐标距离

php - 加载 PHP 的 PDO 驱动程序的正确方法?

mysql - 在 Laravel 应用程序中检索超过 10,000 行

mysql - 模型的关系 (Laravel 5.2)

为模型定义构造函数时,Laravel 5.3 软删除不起作用

Laravel:使用相关模型的范围来过滤结果

php - 将 foreach 循环结果作为 key php

php - gedmo_translatable 与 gedmo_translator - StofDoctrineExtensionsBundle - Symfony2

php - Laravel 4.1 邮件队列与 beantalkd 驱动程序 - "Insufficient data for unserializing"

javascript - 从 javascript 获取输入值时无法将值传递给 Controller