PHPフレームワークLaravelの基本知識
1.Laravel基本的ルーティング:
//GETルーティング
Route::get('example/test3’, function(){
return 'http get’;
});
//POSルーティング
Route::get('example/test4’, function(){
return 'http post’;
});
//複数のリクエストメソッド
Route::match(array('GET’, 'POST’), 'example/test5’, function(){
return 'get and post’;
});
//任意httpdアクションのルート
Route::any('example/test6’, function(){
return 'any http action’;
});
//ルートパラメータ
Route::get('example/test7/{id}’, function($id){
return 'ID:’.$id;
});
//ディフォルトルーティングパラメータ
Route::get('example/test8/{id?}’, function($id = 100){
return 'ID:’.$id;
});
//ルーティングパラメータを選択
Route::get('example/test9/{id}’, function($id){
return 'ID:’.$id;
})->where('id’, '[0-9]+’);
//配列の制約
Route::get('example/{id}/{name}’, function($id, $name){
//
})
->where(array('id’ => '[0-9]+’, 'name’ => '[a-z]+’));
//patternメソッドでグローバルパラメータを定義
Route::pattern('id’, '[0-9]+’);
Route::get('user/{id}’, function($id)
{
//
});
2.フィルター
2.1 ルートフィルタをカスタムに定義
Route::filter('my_filter’, function()
{
if(Input::get('uid’) > 100)
{
return Redirect::to('user’);
}
});
2.2 指定されたルートをフィルタする
Route::get('example/test10’, array('before’ => 'my_filter’, function(){
return 'uid is unvailable’;
}));
2.3 ルートに複数のフィルタを指定する
Route::get('example/test10’, array('before’ => 'my_filter|other_filter’, function(){
return 'uid is unvailable’;
}));