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]+']);

 

posted @ 2022-02-15 08:47  方达达  阅读(11)  评论(0编辑  收藏  举报