Laravel 5.0 - 开发定义全局模式不起作用

Laravel 5.0 -Dev Defining Global Patterns is not working

Laravel 文档提供了一种在 RouteServiceProvider.php.

内的 before 函数内添加全局模式的方法

我的问题是:默认情况下是没有这个功能的,而且创建之后也没有用!

/**
 * Define global rules for routes.
 * more specially for regullar expressions.
 *
 * @param  \Illuminate\Routing\Router  $router
 * @return void
 */
public function before(Router $router){
    $router->pattern('id', '[1-9]+[0-9]*'); 
}

我遇到了同样的问题,我所做的是将 before() 方法主体附加到 map() 方法主体中。它对我有用。 :)

万一你仍然感兴趣(我没有足够的评论点),你仍然可以在 boot() 中声明它,但就在 $route 变量传递给父 parent::boot($router); 函数,如下所示:

/**
* Define your route model bindings, pattern filters, etc.
*
* @param  \Illuminate\Routing\Router  $router
* @return void
*/
public function boot(Router $router)
{

    ///////////////////////////
    // route global patterns //
    ///////////////////////////

    $router->pattern('id', '[0-9]+');

    parent::boot($router);
}

这对我有用