cakePHP3 routing設定で複数の引数をcontrollerのアクションに渡す

cakephpでは、routing設定でcontrollerのアクションに複数の引数を渡すことができます。

書き方は以下のようになります。

routes.php

$routes->connect('/hoge/:id/edit/:fuga',
        ['controller' => 'Edit', 'action' => 'display'],
        ['id' => '\d+', 'fuga' => '.*', 'pass' => ['id', 'fuga']]);
    );

これによって、EditControllerdisplayという関数に二つの引数(id, fuga)を渡すことができます。

‘\d+’ は数字の繰り返し、 ‘.*’ は任意の文字列の繰り返しを意味します。

Controller/EditController.php

display( $id = null, $fuga = null) {

    //...

}