Php Laravel 5动态安装软件包

Php Laravel 5动态安装软件包,php,laravel,laravel-5,Php,Laravel,Laravel 5,所以我对拉威尔比较陌生,所以我想寻求一些建议。我已经阅读了由提供的软件包文档。现在我了解到,您需要一个服务提供商将包连接到laravel,如下所示:Blog\BlogServiceProvider::class。现在我要做的是有一个控制面板,可以直接从PackageGist安装软件包。现在我可以很容易地在代码中操作composer.json文件了。然而,我正在努力解决的是声明服务提供者。我认为如果我有一个动态安装会很不方便,但是你必须自己声明服务提供商。有没有办法在Laravel 5中动态注册服

所以我对拉威尔比较陌生,所以我想寻求一些建议。我已经阅读了由提供的软件包文档。现在我了解到,您需要一个服务提供商将包连接到laravel,如下所示:
Blog\BlogServiceProvider::class
。现在我要做的是有一个控制面板,可以直接从PackageGist安装软件包。现在我可以很容易地在代码中操作composer.json文件了。然而,我正在努力解决的是声明服务提供者。我认为如果我有一个动态安装会很不方便,但是你必须自己声明服务提供商。有没有办法在Laravel 5中动态注册服务提供商?

您可以通过
应用程序
facade动态添加服务提供商:

App::register('App\Providers\SomeServiceProvider');

您可以通过
App
facade动态添加服务提供商:

App::register('App\Providers\SomeServiceProvider');

这会保持它的位置,还是我需要某种形式的初始化器,总是引用已安装的?(我会将它们保存在我的数据库中)我会假设它会将其保存在适当的位置,因为这是一个低级功能。我不确定,但我认为app.php文件中的providers数组是迭代的,它被调用。我并没有亲自尝试过,但尝试一下。那个么在哪里调用这个函数是最好的呢?我需要一些东西来访问我的数据库,然后在路由之前注册所有的提供者。我将如何实现这一点?为了实现这一点,我创建了一个普通的服务提供商。加载我的包模型,然后在register()函数中注册它们。真是个好东西,太棒了!很好的解决方案!这会保持它的位置,还是我需要某种形式的初始化器,总是引用已安装的?(我会将它们保存在我的数据库中)我会假设它会将其保存在适当的位置,因为这是一个低级功能。我不确定,但我认为app.php文件中的providers数组是迭代的,它被调用。我并没有亲自尝试过,但尝试一下。那个么在哪里调用这个函数是最好的呢?我需要一些东西来访问我的数据库,然后在路由之前注册所有的提供者。我将如何实现这一点?为了实现这一点,我创建了一个普通的服务提供商。加载我的包模型,然后在register()函数中注册它们。真是个好东西,太棒了!很好的解决方案!