laravel 路由

 余温
2019年02月11日 15时32分
 php

laravel生命周期

5aec68d2e4b019d3a92671c9.png



//基本样式

Route::get('/', function () {
    return view('welcome');
});

所有的路由方式

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

响应多种请求的方式

//响应post和get请求
Route::match(['get', 'post'], 'foo', function () {
    return 'This is a request from get or post';
});
//响应所有请求
Route::any('bar', function () {
    return 'This is a request from any HTTP verb';
});

路由参数

Route::get('user/{name}', function ($name = null) {
    return $name;
});

可选参数

//可选参数
Route::get('user/{name?}', function ($name = null) {
    return $name;
});

Route::get('user/{name?}', function ($name = 'John') {
    return $name;
});

正则约束

//正则约束
Route::get('user/{name}', function ($name) {
    // $name 必须是字母且不能为空
})->where('name', '[A-Za-z]+');

Route::get('user/{id}', function ($id) {
    // $id 必须是数字
})->where('id', '[0-9]+');

Route::get('user/{id}/{name}', function ($id, $name) {
    // 同时指定 id 和 name 的数据格式
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);

全局约束

如果想要路由参数在全局范围内被给定正则表达式约束,可以使用 pattern 方法。需要在 RouteServiceProvider 类的 boot 方法中定义这种约束模式:

/**
 * 定义路由模型绑定,模式过滤器等
 *
 * @param  \Illuminate\Routing\Router  $router
 * @return void
 * @translator  http://laravelacademy.org
 */
public function boot()
{
    Route::pattern('id', '[0-9]+');
    parent::boot();
}

路由中间件  middleware 方法

Route::prefix('admin')->namespace('Admin')->middleware('token')->group(function () {}

//嵌套路由

Route::prefix('test')->namespace('facky')->middleware('token')->group(function () {
    Route::get('user', 'HomeController@index');
        Route::group(['prefix' => 'article'], function () {
        Route::get('list', 'ArticleController@List');
        }
    }


{{vo.nickname}}:{{vo.content}}

{{vo.time}} 回复


  • {{level.nickname}} 回复 {{level.father_nickname}}{{level.content}}
  • {{level.time}} 回复


@
登陆后评论