Php Laravel 4路由-如果不满足条件,可以跳过路由
因此,我们在数据库中有大量的内容,我们称之为这些文章。项目的路径从应用程序根开始,可以包含斜杠。因此,我们希望搜索数据库,看看我们是否匹配一篇文章,如果不匹配,则跳过该路由,并给其他路由响应的机会 在西纳特拉(我相信这启发了拉拉维尔的路线),你可以选择。也许正是这个让我误入歧途Php Laravel 4路由-如果不满足条件,可以跳过路由,php,laravel,laravel-4,routing,laravel-routing,Php,Laravel,Laravel 4,Routing,Laravel Routing,因此,我们在数据库中有大量的内容,我们称之为这些文章。项目的路径从应用程序根开始,可以包含斜杠。因此,我们希望搜索数据库,看看我们是否匹配一篇文章,如果不匹配,则跳过该路由,并给其他路由响应的机会 在西纳特拉(我相信这启发了拉拉维尔的路线),你可以选择。也许正是这个让我误入歧途 Route::get( '{uri}', function( URI $uri ) { // check database, if we find a record we'll need to pass it to
Route::get( '{uri}', function( URI $uri ) {
// check database, if we find a record we'll need to pass it to the appropriate controller
// we'll have a class that handles this responsiblity
// pass if we don't find anything
} )->where('uri', '.*');
Route::get( 'other/page', 'OtherController@sayHello' );
这个问题谈到了这一点,虽然我看不出过滤器如何满足这一点,但它们只是截取并给您一个停止路由执行的机会(抛出异常、重定向到特定路由等),您不能返回FALSE代码>没有错误。虽然这种方法似乎不存在(在4.2中),但存在一个错误
有什么想法吗
除此之外,我们还考虑将此逻辑包含在包中,以便在应用程序之间共享,并想知道您是否可以影响包提供的路由的执行顺序?您可以拥有一组路由,这些路由包含在与之匹配的所有路由中。如果该组失败,则跳到下一节
Route::group(array('before' => 'auth'), function()
{
Route::get('/', function()
{
// Has Auth Filter
});
Route::get('user/profile', function()
{
// Has Auth Filter
});
});
我已经阅读了文档,但发现它缺乏灵活性。例如,我们可能无法创建此嵌套,或者希望创建此嵌套。如果我们希望此路由在包内独立发生,然后在无需任何操作的情况下传递到下一个路由(在应用程序中),该怎么办。