LoginSignup
1
1

More than 3 years have passed since last update.

ルーティングの基本(laravel,PHP)

Last updated at Posted at 2020-10-09
web.php
//特定のHTTPメソッドに対応する場合

Route:○○('viewのパスを記入','コントローラー@アクションメソッド');

//複数のHTTPメソッドに対応する場合

Route::match(['〇〇','〇〇'],'viewのパスを記入','コントローラー@アクションメソッド');
//※['〇〇','〇〇']に指定した複数のメソッドを対応させることが可能

//全てのHTTPメソッドに対応する場合

Route::any('viewのパスを記入','コントローラー@アクションメソッド');

ルーティング情報をコントローラから取得する場合(ルートパラメーター)

web.php
#自動的に対応する値を引数に割り当ててる場合
Route::get('viewのパスを記入/{id}','コントローラ名@アクションメソッド');
#任意の値を引数に割り当てる場合
Route::get('viewのパスを記入/{id?}','コントローラ名@アクションメソッド');
#ルートパラメータを制限したい場合
Route::get('viewのパスを記入/{id}','コントローラ名@アクションメソッド')->where([id =>'[0-9],{2,3}'])
//[0-9]->0~9までの数値に対応
//{2,3} ->10桁から100桁の数値に対応
//定義済み関数のpreg_matchと同じ 
〇〇controller.php
#自動的に対応する値を引数に割り当ててる場合
class Controller extends Controller
{
    public function param(int $id){ 
        return 'id:'.$id;

    }

//.....
〇〇controller.php
#任意の値を引数に割り当てる場合
class Controller extends Controller
{
    public function param(int $id =任意の値){ 
        return 'id:'.$id;

    }

//.....
〇〇controller.php
#正規表現の場合
class Controller extends Controller
{
    public function param(int $id =任意の値){ 
    //※任意の値はルートパラメータで制約しているため従う必要がある
    //例:現在は[0~9],{2-3}に指定しているので 0〜9の数値で尚且つ100桁までの数値を定義する必要がある
     return 'id:'.$id;

    }

//.....

web.php
//可変長パラメータ
Route::get('viewのパスを記入{keywd?}','コントローラ@アクションメソッド')>where('keywd','.*')
//('keywd','.*') ->任意の文字が0文字~~+∞という意味
//可変長は長さが決まっていないことを挿す





1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1