这里介绍laravel路由是如何映射到控制器的,它也是我们在路由中经常使用的方式,因为控制器是laravel项目开发中经常使用的。

无参数配置

这是最简单的配置
Route::match(['get'],'/index', 'Home\IndexController@index');
Route::match(['get'],'/test', 'Home\IndexController@test');

上面的例子中

/index 地址映射到控制器 IndexController的index方法中

/test 地址映射到控制器 IndexController的test方法中

有参数不可空

Route::match(['get'],'/note/{id}', 'Home\IndexController@note');

这里url的地址必须为 /note/xxx的形式,否则就没有匹配上。

有参数可为空

Route::match(['get'],'/note/{id?}', 'Home\IndexController@note'); 

有正则的配置

这里正则匹配note/后面的内容必须是数字。

Route::match(['get'],'/note/{id}', 'App\Http\Controllers\NoteController@show')->where('id','[0-9]+'); 

这里正则匹配note/后面的内容必须是字符串a-zA-Z。

Route::match(['get'],'/note/{name}', 'App\Http\Controllers\NoteController@show')->where('name','[a-zA-Z]+');

多个正则的例子

Route::match(['get'],'/note/{name}/{id}', 'App\Http\Controllers\NoteController@show')->where(['id'=>'[0-9]+', 'name'=>'[a-zA-Z]+']);