我在學習Laravel5.1,雖然剛剛開始赊级,認識很淺,但還是需要做做歸納理逊,清晰認識
建議大家到laravel學院
學習laravel
1、路由(app/routes.php)
- 在routes.php中進行路由設置兑徘,羡洛;
- 作為訪問的統(tǒng)一入口挂脑,是控制器的統(tǒng)一調度欲侮;
- 沒有配置路由,就沒有正確地訪問路徑刁俭;
- 路由需要自己規(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
匹配[]
中的請求方式
Route::match(['get','post'],'/hello',function(){
return "match";
});
-
any
匹配所有請求方式
Route::any('/hello',function(){
return "any";
});
3、從路由獲取參數
- 必用參數
Route::get('/blog/{name}',function($name){
return $name; // 返回name顯示
});
即除了 /blog/{name}的路由類型育勺,都不能進來
- 可選參數
Route::get('/blog/{name?}',function($name = 'name'){
return $name; // 返回name顯示,如果沒設置就取默認值
});
即設置了默認值,路由中加了 涧至? 未輸入參數則使用默認值
-
正則參數
正則可以更靈活些,匹配更多需求南蓬。
Route::get('/blog/{id?}',function($id="1"){
return "{$id}";//輸出blog的ID,
})->where('name','^\d+$');//正則匹配為只能是數字烧颖,不然將無法找到路由窄陡;
-
參數全局約束
在app/Providers/RouteServiceProvider
的boot(Router $router)
方法作如下修改:
public function boot(Router $router)
{
$router->pattern('id','^\d+$');
parent::boot($router);//將id全局限制為數字
}
boot()方法在每個服務提供者(Providers)類中都有用到,將再Providers啟動方法執(zhí)行后執(zhí)行
可以通過boot()方法對Providers實現依賴注入
4跳夭、路由還可以做
X、 app/routes.php 注釋翻譯(拙劣練習)
自從開始接觸laravel和github發(fā)現润歉,越來越難以逃避自己拙劣的英語,我該開始不再畏懼卡辰,好好面對邪意,所以開始將laravel源碼中出現的英文注釋逐步進行翻譯,待自己的對框架熟悉時候雾鬼,再添加自己的中文注釋,來強化自己的認識策菜。
/*
|--------------------------------------------------------------------------
| 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.
|
*/
/*
|--------------------------------------------------------------------------
| 應用路由
|--------------------------------------------------------------------------
|
| 你可以很輕松地在這里注冊所有的路由又憨。
| 簡單地告訴laravel,當特定地址被請求的時候翠霍,訪問對應的控制器蠢莺,使地址得到響應。
|
*/