基于MVC,laravel有一个Route,位于routes/web.php --->路由访问入口文件
我们通过修改其文件中代码(添加控制器,重定向,访问视图)的方法,完成路由分发,
学习一下关于Route定义的格式和类型都有哪些
Route::get('/', function () {
return view('welcome');
});
Route::get('foo1', function() {
return 'hello world';
});
Route::get('foo2/{id}/{name}',function($name, $id){
return $id . ' ' . $name;
});
//路由器指向控制器
Route::get('foo3', 'Foo\Foo3Controller@index');
//如果在某一个模块下的控制器指向 可以用namespace
//请求uri中的某一模块下访问 用prefix
Route::namespace('Foo')->group(function(){
Route::prefix('foo')->group(function(){
Route::get('foo4', 'Foo4Controller@execute');
//上面等同于
//Route::get('Foo/foo4','Foo\Foo4')
});
});
//URI 访问:http://hostname/foo/foo4
//redirect
//访问uri hostname/foo5 <=> hostname/foo/foo4
Route::redirect('foo5','/foo/foo4'); //302
Route::redirect('foo7','foo/foo4',301); //301
Route::permanentRedirect('foo6','/foo/foo4');//301
//返回视图
Route::view('welcome','welcome');
Route::get('welcome', function(){
return view('welcome');
});
//如果访问不存在route|controller
Route::fallback(function(){
return view('welcome');
//处理404
}); //一定要放在最后