復(fù)制代碼 代碼如下:
Route::get('/', function()
{
return 'Hello World " /> 久久婷婷久久一区二区三区,飘雪在线观看免费完整版,国产亚洲欧美ai在线看片

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Laravel框架路由配置總結(jié)、設(shè)置技巧大全

基本路由

您的應(yīng)用程序的絕大多數(shù)路由將在 app/routes.php 文件中定義。Laravel 中最簡單的路由由一個 URI 和一個閉包調(diào)用組成。

基本 GET 路由
復(fù)制代碼 代碼如下:
Route::get('/', function()
{
return 'Hello World';
});

基本 POST 路由
復(fù)制代碼 代碼如下:
Route::post('foo/bar', function()
{
return 'Hello World';
});

注冊一個路由以響應(yīng)所有 HTTP 方法
復(fù)制代碼 代碼如下:
Route::any('foo', function()
{
   return 'Hello World';
});

強制一個路由必須通過 HTTPS 訪問
復(fù)制代碼 代碼如下:
Route::get('foo', array('https', function()
{
    return 'Must be over HTTPS';
}));

經(jīng)常您需要根據(jù)路由產(chǎn)生 URLs,您可以通過使用 URL::to 方法:
復(fù)制代碼 代碼如下:$url = URL::to('foo');

路由參數(shù)
復(fù)制代碼 代碼如下:
Route::get('user/{id}', function($id)
{
return 'User '.$id;
});

可選的路由參數(shù)
復(fù)制代碼 代碼如下:
Route::get('user/{name?}', function($name = null)
{
return $name;
});

帶默認值的可選的路由參數(shù)
復(fù)制代碼 代碼如下:
Route::get('user/{name?}', function($name = 'John')
{
return $name;
});

帶正則表達式約束的路由
復(fù)制代碼 代碼如下:
Route::get('user/{name}', function($name)
{
//
})
->where('name', '[A-Za-z]+');
Route::get('user/{id}', function($id)
{
//
})
->where('id', '[0-9]+');

路由過濾器

  路由過濾器提供了一種限制訪問指定路由的簡單的方法,這在您需要為您的站點創(chuàng)建需要認證區(qū)域的時候非常有用。Laravel 框架中包含了一些路由過濾器,比如 auth 過濾器、auth.basic 過濾器、guest 過濾器、以及 csrf 過濾器。它們被存放在 app/filters.php 文件中。

定義一個路由過濾器
復(fù)制代碼 代碼如下:
Route::filter('old', function()
{
if (Input::get('age') < 200)
{
return Redirect::to('home');
}
});

  如果一個響應(yīng)從一個路由過濾器中返回,這個響應(yīng)即被認為是這個請求的響應(yīng),路由將不被執(zhí)行,任何關(guān)于這個路由的 after 過濾器也將被取消執(zhí)行。

  為一個路由指定一個路由過濾器
復(fù)制代碼 代碼如下:
Route::get('user', array('before' => 'old', function()
{
return 'You are over 200 years old!';
}));

為一個路由指定多個路由過濾器

復(fù)制代碼 代碼如下:
Route::get('user', array('before' => 'auth|old', function()
{
return 'You are authenticated and over 200 years old!';
}));

指定路由過濾器參數(shù)
復(fù)制代碼 代碼如下:
Route::filter('age', function($route, $request, $value)
{
//
});
Route::get('user', array('before' => 'age:200', function()
{
return 'Hello World';
}));

  當路由過濾器接收到作為第三個參數(shù)的響應(yīng) $response:
復(fù)制代碼 代碼如下:
Route::filter('log', function($route, $request, $response, $value)
{
//
});

基本路由過濾器的模式

您可能希望根據(jù) URI 為一組路由指定過濾器。
復(fù)制代碼 代碼如下:
Route::filter('admin', function()
{
//
});
Route::when('admin/*', 'admin');

在上面的例子中,admin 過濾器將應(yīng)用帶所有以 admin/ 開頭的路由。星號作為一個通配符,將適配到所有字符的組合。

您也可以通過指定 HTTP 方法約束模式過濾器:

復(fù)制代碼 代碼如下:
Route::when('admin/*', 'admin', array('post'));

過濾器類

對于高級的過濾器,您可以使用一個類代替閉包函數(shù)。因為過濾器類是位于應(yīng)用程序之外的 IoC 容器,您能夠在過濾器中使用依賴注入,更易于測試。

定義一個過濾器類
復(fù)制代碼 代碼如下:
class FooFilter {
public function filter()
{
// Filter logic...
}
}

注冊一個基于類的過濾器
復(fù)制代碼 代碼如下:
Route::filter('foo', 'FooFilter');

命名路由

命名路由在更易于在生成跳轉(zhuǎn)或 URLs 時指定路由。您可以像這樣為路由指定一個名字:
復(fù)制代碼 代碼如下:
Route::get('user/profile', array('as' => 'profile', function()
{
//
}));

您也可以為控制器的方法指定路由名字:
復(fù)制代碼 代碼如下:
  Route::get('user/profile', array('as' => 'profile', 'uses' =>
'UserController@showProfile'));

  現(xiàn)在您在生成 URLs 或跳轉(zhuǎn)的時候使用路由的名字:

復(fù)制代碼 代碼如下:
$url = URL::route('profile');
$redirect = Redirect::route('profile');

您可以使用 currentRouteName 方法獲取一個路由的名字:

復(fù)制代碼 代碼如下:
$name = Route::currentRouteName();

路由組

有些時候您可能希望應(yīng)用過濾器到一組路由。您不必要為每個路由指定過濾器,可以使用路由組:
復(fù)制代碼 代碼如下:
Route::group(array('before' => 'auth'), function()
{
Route::get('/', function()
{
// Has Auth Filter
});
Route::get('user/profile', function()
{
// Has Auth Filter
});
});

子域名路由

  Laravel 路由也能夠處理通配符的子域名,并且從域名中獲取通配符參數(shù):

注冊子域名路由
復(fù)制代碼 代碼如下:
Route::group(array('domain' => '{account}.myapp.com'), function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});

路由前綴

一組路由可以通過在屬性數(shù)組中使用 prefix 選項為路由組添加前綴:

為路由組添加前綴
復(fù)制代碼 代碼如下:
Route::group(array('prefix' => 'admin'), function()
{
Route::get('user', function()
{
//
});
});

路由模型綁定

  模型綁定提供了一個簡單的方法向路由中注入模型。比如,不僅注入一個用戶的 ID,您可以根據(jù)指定的 ID 注入整個用戶模型實例。首先使用 Route::model 方法指定所需要的模型:

為模型綁定一個變量
復(fù)制代碼 代碼如下:
Route::model('user', 'User');

然后, 定義一個包含 {user} 參數(shù)的路由:
復(fù)制代碼 代碼如下:
Route::get('profile/{user}', function(User $user)
{
//
});

  因為我們已經(jīng)綁定 {user} 參數(shù)到 User 模型,一個 User 實例將被注入到路由中。因此,比如一個 profile/1 的請求將注入一個 ID 為 1 的 User 實例。

  注意: 如果在數(shù)據(jù)庫中沒有找到這個模型實例,將引發(fā)404錯誤。

  如果您希望指定您自己定義的沒有找到的行為,您可以為 model 方法傳遞一個閉包作為第三個參數(shù):
復(fù)制代碼 代碼如下:
Route::model('user', 'User', function()
{
throw new NotFoundException;
});

  有時您希望使用自己的方法處理路由參數(shù),可以使用 Route::bind 方法:
復(fù)制代碼 代碼如下:
Route::bind('user', function($value, $route)
{
return User::where('name', $value)->first();
});

引發(fā)404錯誤

  有兩種方法在路由中手動觸發(fā)一個404錯誤。首先,您可以使用 App::abort 方法:

復(fù)制代碼 代碼如下:
App::abort(404);

其次,您可以拋出一個 Symfony/Component/HttpKernel/Exception/NotFoundHttpException 的實例。

更多關(guān)于處理404異常和為這些錯誤使用使用自定義響應(yīng)的信息可以在 錯誤 章節(jié)中找到。

路由至控制器

Laravel 不僅允許您路由至閉包,也可以路由至控制器類,甚至允許創(chuàng)建 資源控制器.

更多信息請訪問 控制器 文檔。

php技術(shù)Laravel框架路由配置總結(jié)、設(shè)置技巧大全,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 妖精视频一区二区免费 | 久久毛片网站 | 国产精品乱码色情一区二区视频 | 欧美日韩在线亚洲一 | 美女搜查官被高难度黑人在线播放 | 东北女人一级毛片 | 亚洲国产免费观看视频 | 国产ZZJJZZJJ视频全免费 | 亚洲国产cao | 中文字幕亚洲乱码熟女在线 | 囯产精品一品二区三区 | 91看片淫黄大片.在线天堂 | 久久成人永久免费播放 | 天天摸夜添狠狠添高 | 婷婷六月激情综合一区 | 中文字幕无码他人妻味 | 第一次破女视频出血视频 | 波多结衣一区二区三区 | 色橹 | 男人把女人桶到高潮嗷嗷叫 | 特黄特黄aaaa级毛片免费看 | xxx日本黄色 | 国产亚洲色婷婷久久精品99 | 好吊日视频在线 | 国产精品外围在线观看 | 噜噜噜在线AV免费观看看 | 亚洲一区高清 | 亚洲国产精品一区二区三区在线观看 | 一二三四在线视频社区8 | 小柔的性放荡羞辱日记动漫 | 好男人资源免费观看1 | 久久999视频 | 99免费精品 | 黑丝袜论坛 | 国产精品麻豆a啊在线观看 国产精品麻豆AV | 男人桶女人j的视频在线观看 | 在线视频久久只有精品第一日韩 | 妙玉被肉干高H潮文 | 私密按摩师在线观看 百度网盘 | 亚洲日韩乱码人人爽人人澡人 | 成人在线免费看片 |