这里介绍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]+']);