0
我有一个网站有一个后台从其他网站下载“zip文件”。每个zip包含一个控制器的php文件(从BaseController
延伸)。一旦控制器被下载,它将被内部移动到/app/controllers
文件夹以准备好请求。但是,这不会工作,因为它没有在/app/routes.php
登记。如何动态添加路由规则?
我的问题是,我怎么能注册这个控制器动态routes.php而不明确添加它?
我有一个网站有一个后台从其他网站下载“zip文件”。每个zip包含一个控制器的php文件(从BaseController
延伸)。一旦控制器被下载,它将被内部移动到/app/controllers
文件夹以准备好请求。但是,这不会工作,因为它没有在/app/routes.php
登记。如何动态添加路由规则?
我的问题是,我怎么能注册这个控制器动态routes.php而不明确添加它?
好吧,我发现了一个非常好的答案,我猜...
新的控制器上创建一个新的目录/app/forms
。所以,每一个下载包将其移动到它,用以下结构:
/app/forms/
form1/
Form1Controller.php
routes.php
form2/
Form2Controller.php
routes.php
添加/app/forms/
到自动加载类映射在composer.json
。
编辑/app/routes.php
为了使动态包括:
foreach (File::directories(app_path('forms')) as $formDir)
File::requireOnce("{$formDir}/routes.php");
composer dump-autoload
更新类映射现在我不需要点燃蜡烛,并做了祈祷,以laravel的神。