laravel5.1框架基础之路由详解

本文实例讲述了laravel5.1框架基础之路由。分享给大家供大家参考,具体如下:

我在学习Laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识
建议大家到laravel学院学习laravel

1、路由(app/routes.php)

  • 在routes.php中进行路由设置,;
  • 作为访问的统一入口,是控制器的统一调度;
  • 没有配置路由,就没有正确地访问路径;
  • 路由需要自己规定一定的规则,方便自己查看、使用、理解;

2、路由基本类型及使用示例

  • get
Route::get('articles','ArticleController@index');

Route::get('db',function(){
  $name = DB::connection()->getDatabaseName();
  echo $name;
});

  • post
Route::post('article/update','ArticleController@update');

  • match

匹配[]中的请求方式

Route::match(['get','post'],'/hello',function(){
  return "match";
});

  • any

匹配所有请求方式

Route::any('/hello',function(){
  return "any";
});

3、从路由获取参数

  • 必用参数
Route::get('/blog/{name}',function($name){
  return $name; // 返回name显示
});

即除了 /blog/{name}的路由类型,都不能进来

  • 可选参数
Route::get('/blog/{name?}',function($name = 'name'){
  return $name; // 返回name显示,如果没设置就取默认值
});

即设置了默认值,路由中加了 ? 未输入参数则使用默认值

  • 正则参数

正则可以更灵活些,匹配更多需求。

Route::get('/blog/{id?}',function($id="1"){
  return "{$id}";//输出blog的ID,
})->where('name','^\d+$');//正则匹配为只能是数字,不然将无法找到路由;

  • 参数全局约束

app/Providers/RouteServiceProviderboot(Router $router)方法作如下修改:

public function boot(Router $router)
{
  $router->pattern('id','^\d+$');
  parent::boot($router);//将id全局限制为数字
}

boot()方法在每个服务提供者(Providers)类中都有用到,将再Providers启动方法执行后执行

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4933.html