自动将ServiceProviders laravel添加到config/app.php并自动加载配置
所以我使用的是Laravel5.3,我刚刚为我创建的CMS创建了我的第一个裸包。 它工作正常,但我不想手动添加到composer.json自动加载。我希望通过拖放或管理区域中的选择选项自动完成此操作,例如:自动将ServiceProviders laravel添加到config/app.php并自动加载配置,php,laravel,laravel-5,composer-php,laravel-5.3,Php,Laravel,Laravel 5,Composer Php,Laravel 5.3,所以我使用的是Laravel5.3,我刚刚为我创建的CMS创建了我的第一个裸包。 它工作正常,但我不想手动添加到composer.json自动加载。我希望通过拖放或管理区域中的选择选项自动完成此操作,例如: "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/",
"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
方法来注册其他提供程序。通过这种方式,您可以预先注册一个提供程序,并根据需要在代码中注册其他提供程序
上的文档应该让您开始。好的,如果我有一个over-arching软件包服务提供商,那么我应该将我的其他软件包存储在数据库表中,并创建一个循环来运行和注册它们,还是有更好的方法?我可能会将它们放在配置目录或类似目录中的另一个配置文件中那个但这完全取决于你。仍然不知道为什么你想动态加载服务,我觉得你的CMS会运行得更快,只需最初注册所有服务,仍然只使用你需要的服务。