包路由中的动态重定向

时间:2014-06-19 14:00:57

标签: laravel-4 routing package

我已经在内部开发的包中定义了一些带有一些业务逻辑的路由操作。根据此操作的结果,应用程序希望将用户重定向到某个动态路由(例如Redirect::route('admin.index', [$app->id]))。

我该怎么做?

由于Laravel处理路线的方式,我提出的任何解决方案都不起作用。

现在我已将路由复制到app routes.php,并将业务逻辑解压缩到包内的方法。但这不是最佳选择,因为我也希望将路线保留在包装内。

1 个答案:

答案 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。您的路线将默认返回到您的包的配置文件中。