laravel 路由知识
没有什么可以将你打败,因为你从未成功过。
在laravel 中,在路由中,比如
Route::get('/', function () {
return 'Hello, World!';
});
访问该路由的时候,并没有 echo and printf,为什么会在浏览器中显示呢
答案:Laravel 会通过内置的响应栈和中间件对返回内容进行处理。
路由形式
Route::get('/', function(){});
Route::post('/', function () {});
Route::put('/', function () {});
Route::delete('/', function () {});
还可以通过 Route::any 定义一个可以捕获任何请求方式的路由:
Route::any('/', function () {});
还有匹配模式
Route::match(['get', 'post'], '/', function () {});
以上的都是用过闭包的方式对路由的逻辑进行处理,但是大复杂的逻辑下面则需要进行定位到控制器的具体方法中
Route::get('/', 'WelcomeController@index');
路由参数形式
Route::get('page/{id}', function ($id) {
return '页面ID: ' . $id;
})->where('id', '[0-9]+');
Route::get('page/{name}', function ($name) {
return '页面名称: ' . $name;
})->where('name', '[A-Za-z]+');
Route::get('page/{id}/{slug}', function ($id, $slug) {
return $id . ':' . $slug;
})->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);