条目数量 : 346


Laravel/路由

来自笔记本
跳到导航 跳到搜索

HTTP 方法

  • Route::get
  • Route::post
  • Route::put
  • Route::patch
  • Route::delete
  • Route::options
  • Route::match
  • Route::any

视图路由

Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

网址参数

 Route::get('/{name?}', function($name = 'heheda')
 {
     $data = array('hi' => "你好",'object' => $name);
     return view('home.index',$data);
 })->where('name','[A-Za-z]+');

必填参数

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

可选参数

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

正则表达式

Route::get('user/{name}', function ($name) {
    //
})->where('name', '[A-Za-z]+');

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

Route::get('user/{id}/{name}', function ($id, $name) {
    //
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);

全局约束

路由别名和重定向

->name('home_route');

使用

Route::get('/test',function(){
     return Redirect::route('home_route');
 });
  • 或 route('home_route');

URL

URL 助手

url('/');

CSRF 保护

@csrf

重定向路由

  • Route::redirect('/here', '/there', 301);
  • return redirect()->route('profile');
  • return redirect()->route('profile', ['id' => 1]);
  • return redirect()->away('https://music.163.com/#/user/home?id=51928916');

中间件

子域名路由

路由前缀

路由缓存

php artisan route:cache

php artisan route:clear

中止请求

  • abort(403, 'You cannot do that!')
  • abort_if(false, 403)
  • abort_unless(true, 403)

参数限制

Route::pattern('id', '[0-9]+');

combine

Route::combine([
    '/',
    'todo',
    'api-list',
    'login',
    'register'
], function () {
    return view('app');
});