我已经在内部开发的包中定义了一些带有一些业务逻辑的路由操作。根据此操作的结果,应用程序希望将用户重定向到某个动态路由(例如Redirect::route('admin.index', [$app->id])
)。
我该怎么做?
由于Laravel处理路线的方式,我提出的任何解决方案都不起作用。
现在我已将路由复制到app routes.php,并将业务逻辑解压缩到包内的方法。但这不是最佳选择,因为我也希望将路线保留在包装内。
答案 0 :(得分:0)
Laravel有一些适用于您的Package Configuration文档。
在您的软件包中 src / config / config.php :
<?php
return array(
'route_admin_index' => 'admin.index',
);
将您的包裹代码更改为:
Redirect::route(Config::get('your_package_name::route_admin_index'), [$app->id]);
现在,当安装在不同的环境中时,您可以执行以下操作:
php artisan config:publish your_vendor_name/your_package_name
将您的软件包的配置文件发布到:
app/config/packages/your_vendor_name/your_package_name
然后您可以随意更改route_admin_index
。
如果未调用php artisan config:publish
。您的路线将默认返回到您的包的配置文件中。