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);
}
这对我有用
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);
}
这对我有用