主頁(yè) > 知識(shí)庫(kù) > laravel5.1框架基礎(chǔ)之路由詳解

laravel5.1框架基礎(chǔ)之路由詳解

熱門(mén)標(biāo)簽:電子圍欄 阿里云 銀行業(yè)務(wù) 服務(wù)器配置 Mysql連接數(shù)設(shè)置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Linux服務(wù)器 團(tuán)購(gòu)網(wǎng)站

本文實(shí)例講述了laravel5.1框架基礎(chǔ)之路由。分享給大家供大家參考,具體如下:

我在學(xué)習(xí)Laravel5.1,雖然剛剛開(kāi)始,認(rèn)識(shí)很淺,但還是需要做做歸納,清晰認(rèn)識(shí)
建議大家到laravel學(xué)院學(xué)習(xí)laravel

1、路由(app/routes.php)

  • 在routes.php中進(jìn)行路由設(shè)置,;
  • 作為訪問(wèn)的統(tǒng)一入口,是控制器的統(tǒng)一調(diào)度;
  • 沒(méi)有配置路由,就沒(méi)有正確地訪問(wèn)路徑;
  • 路由需要自己規(guī)定一定的規(guī)則,方便自己查看、使用、理解;

2、路由基本類(lèi)型及使用示例

  • get
Route::get('articles','ArticleController@index');

Route::get('db',function(){
  $name = DB::connection()->getDatabaseName();
  echo $name;
});

  • post
Route::post('article/update','ArticleController@update');

  • match

匹配[]中的請(qǐng)求方式

Route::match(['get','post'],'/hello',function(){
  return "match";
});

  • any

匹配所有請(qǐng)求方式

Route::any('/hello',function(){
  return "any";
});

3、從路由獲取參數(shù)

  • 必用參數(shù)
Route::get('/blog/{name}',function($name){
  return $name; // 返回name顯示
});

即除了 /blog/{name}的路由類(lèi)型,都不能進(jìn)來(lái)

  • 可選參數(shù)
Route::get('/blog/{name?}',function($name = 'name'){
  return $name; // 返回name顯示,如果沒(méi)設(shè)置就取默認(rèn)值
});

即設(shè)置了默認(rèn)值,路由中加了 ? 未輸入?yún)?shù)則使用默認(rèn)值

  • 正則參數(shù)

正則可以更靈活些,匹配更多需求。

Route::get('/blog/{id?}',function($id="1"){
  return "{$id}";//輸出blog的ID,
})->where('name','^\d+$');//正則匹配為只能是數(shù)字,不然將無(wú)法找到路由;

  • 參數(shù)全局約束

app/Providers/RouteServiceProviderboot(Router $router)方法作如下修改:

public function boot(Router $router)
{
  $router->pattern('id','^\d+$');
  parent::boot($router);//將id全局限制為數(shù)字
}

boot()方法在每個(gè)服務(wù)提供者(Providers)類(lèi)中都有用到,將再Providers啟動(dòng)方法執(zhí)行后執(zhí)行

可以通過(guò)boot()方法對(duì)Providers實(shí)現(xiàn)依賴(lài)注入

4、路由還可以做

給路由起個(gè)別名或者分個(gè)組
防CSRF攻擊
Restful風(fēng)格路由
詳細(xì)內(nèi)容

X、 app/routes.php 注釋翻譯(拙劣練習(xí))

自從開(kāi)始接觸laravel和github發(fā)現(xiàn),越來(lái)越難以逃避自己拙劣的英語(yǔ),我該開(kāi)始不再畏懼,好好面對(duì),所以開(kāi)始將laravel源碼中出現(xiàn)的英文注釋逐步進(jìn)行翻譯,待自己的對(duì)框架熟悉時(shí)候,再添加自己的中文注釋?zhuān)瑏?lái)強(qiáng)化自己的認(rèn)識(shí)。

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
/*
|--------------------------------------------------------------------------
| 應(yīng)用路由
|--------------------------------------------------------------------------
|
| 你可以很輕松地在這里注冊(cè)所有的路由。
| 簡(jiǎn)單地告訴laravel,當(dāng)特定地址被請(qǐng)求的時(shí)候,訪問(wèn)對(duì)應(yīng)的控制器,使地址得到響應(yīng)。
|
*/

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 修改Laravel5.3中的路由文件與路徑
  • Laravel最佳分割路由文件(routes.php)的方式
  • Laravel5.1框架路由分組用法實(shí)例分析
  • Laravel5.1 框架路由基礎(chǔ)詳解
  • Laravel 之url參數(shù),獲取路由參數(shù)的例子
  • laravel實(shí)現(xiàn)前后臺(tái)路由分離的方法
  • laravel框架的安裝與路由實(shí)例分析
  • Laravel框架創(chuàng)建路由的方法詳解
  • 淺談一種Laravel路由文件劃分方式

標(biāo)簽:棗莊 大理 衡水 萍鄉(xiāng) 廣元 江蘇 衢州 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel5.1框架基礎(chǔ)之路由詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266