本文實(shí)例講述了laravel5.1框架基礎(chǔ)之路由。分享給大家供大家參考,具體如下:
我在學(xué)習(xí)Laravel5.1,雖然剛剛開始,認(rèn)識很淺,但還是需要做做歸納,清晰認(rèn)識
建議大家到laravel學(xué)院學(xué)習(xí)laravel
1、路由(app/routes.php)
- 在routes.php中進(jìn)行路由設(shè)置,;
- 作為訪問的統(tǒng)一入口,是控制器的統(tǒng)一調(diào)度;
- 沒有配置路由,就沒有正確地訪問路徑;
- 路由需要自己規(guī)定一定的規(guī)則,方便自己查看、使用、理解;
2、路由基本類型及使用示例
Route::get('articles','ArticleController@index');
或
Route::get('db',function(){
$name = DB::connection()->getDatabaseName();
echo $name;
});
Route::post('article/update','ArticleController@update');
匹配[]
中的請求方式
Route::match(['get','post'],'/hello',function(){
return "match";
});
匹配所有請求方式
Route::any('/hello',function(){
return "any";
});
3、從路由獲取參數(shù)
Route::get('/blog/{name}',function($name){
return $name; // 返回name顯示
});
即除了 /blog/{name}的路由類型,都不能進(jìn)來
Route::get('/blog/{name?}',function($name = 'name'){
return $name; // 返回name顯示,如果沒設(shè)置就取默認(rèn)值
});
即設(shè)置了默認(rèn)值,路由中加了 ? 未輸入?yún)?shù)則使用默認(rèn)值
正則可以更靈活些,匹配更多需求。
Route::get('/blog/{id?}',function($id="1"){
return "{$id}";//輸出blog的ID,
})->where('name','^\d+$');//正則匹配為只能是數(shù)字,不然將無法找到路由;
在app/Providers/RouteServiceProvider的boot(Router $router)
方法作如下修改:
public function boot(Router $router)
{
$router->pattern('id','^\d+$');
parent::boot($router);//將id全局限制為數(shù)字
}
boot()
方法在每個服務(wù)提供者(Providers)類中都有用到,將再Providers啟動方法執(zhí)行后執(zhí)行
可以通過boot()方法對Providers實(shí)現(xiàn)依賴注入
4、路由還可以做
給路由起個別名或者分個組
防CSRF攻擊
Restful風(fēng)格路由
詳細(xì)內(nèi)容
X、 app/routes.php 注釋翻譯(拙劣練習(xí))
自從開始接觸laravel和github發(fā)現(xiàn),越來越難以逃避自己拙劣的英語,我該開始不再畏懼,好好面對,所以開始將laravel源碼中出現(xiàn)的英文注釋逐步進(jìn)行翻譯,待自己的對框架熟悉時(shí)候,再添加自己的中文注釋,來強(qiáng)化自己的認(rèn)識。
/*
|--------------------------------------------------------------------------
| 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)用路由
|--------------------------------------------------------------------------
|
| 你可以很輕松地在這里注冊所有的路由。
| 簡單地告訴laravel,當(dāng)特定地址被請求的時(shí)候,訪問對應(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ù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- 修改Laravel5.3中的路由文件與路徑
- Laravel最佳分割路由文件(routes.php)的方式
- Laravel5.1框架路由分組用法實(shí)例分析
- Laravel5.1 框架路由基礎(chǔ)詳解
- Laravel 之url參數(shù),獲取路由參數(shù)的例子
- laravel實(shí)現(xiàn)前后臺路由分離的方法
- laravel框架的安裝與路由實(shí)例分析
- Laravel框架創(chuàng)建路由的方法詳解
- 淺談一種Laravel路由文件劃分方式