laravel5.1框架基礎(chǔ)之路由詳解
本文實(shí)例講述了laravel5.1框架基礎(chǔ)之路由。分享給大家供大家參考,具體如下:
我在學(xué)習(xí)Laravel5.1,雖然剛剛開始,認(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、路由基本類型及使用示例
- 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}的路由類型,都不能進(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/RouteServiceProvider的boot(Router $router)方法作如下修改:
public function boot(Router $router)
{
$router->pattern('id','^\d+$');
parent::boot($router);//將id全局限制為數(shù)字
}
boot()方法在每個(gè)服務(wù)提供者(Providers)類中都有用到,將再Providers啟動(dòng)方法執(zhí)行后執(zhí)行
可以通過(guò)boot()方法對(duì)Providers實(shí)現(xiàn)依賴注入
4、路由還可以做
給路由起個(gè)別名或者分個(gè)組
防CSRF攻擊
Restful風(fēng)格路由
詳細(xì)內(nèi)容
X、 app/routes.php 注釋翻譯(拙劣練習(xí))
自從開始接觸laravel和github發(fā)現(xiàn),越來(lái)越難以逃避自己拙劣的英語(yǔ),我該開始不再畏懼,好好面對(duì),所以開始將laravel源碼中出現(xiàn)的英文注釋逐步進(jìn)行翻譯,待自己的對(duì)框架熟悉時(shí)候,再添加自己的中文注釋,來(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)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
destoon實(shí)現(xiàn)不同會(huì)員組公司名稱顯示不同的顏色的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)不同會(huì)員組公司名稱顯示不同的顏色的方法,是非常實(shí)用的方法,代碼簡(jiǎn)潔思路簡(jiǎn)單,需要的朋友可以參考下2014-08-08
淺談laravel框架sql中g(shù)roupBy之后排序的問(wèn)題
今天小編就為大家分享一篇淺談laravel框架sql中g(shù)roupBy之后排序的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
讓whoops幫我們告別ThinkPHP6的異常頁(yè)面
本文給大家分享的是使用whoops接管thinkphp6的異常處理,從而使我們得到新的世界,希望大家能夠喜歡2020-03-03
Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法
這篇文章主要介紹了Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法,結(jié)合實(shí)例形式詳細(xì)分析了Zend_Form組件的使用方法與實(shí)現(xiàn)表單提交的具體操作步驟,需要的朋友可以參考下2016-03-03
分享下頁(yè)面關(guān)鍵字抓取components.arrow.com站點(diǎn)代碼
這篇文章主要介紹了分享下頁(yè)面關(guān)鍵字抓取components.arrow.com站點(diǎn)代碼的相關(guān)資料,需要的朋友可以參考下2014-01-01

