2016-05-05 19 views
0

私はオブジェクトのコードまたはIDのいずれかを受け入れる必要があるということを考えれば、経路に渡されたもの(数値か数字ではない)どちらか一方の変数を送信しますか?Silexのルート交換可能なパラメータ

例: /ルート/ 1 - データベース

上USAのための>コード - データベース

上USA用> ID私はコントローラ

/ルート/ USにヌル$ ID = 1、$コードを=送ります

私はこのような何かを試してみましたが、idとコードの両方を空にすることができれば、それは、あなたを

$apiRoutesV2 
    ->get('/route/{code}{id}', 'controllers.myController:getIndex') 
    ->value('id', null) 
    ->assert('id', '[0-9]+') 
    ->value('code', null) 
    ->assert('code', '[a-zA-Z]+'); 

答えて

1

を動作しませんコントローラに= nullをし、$コード= '米国の

を$ IDを送信できるデフォルト値でAKEつのルート:

$app 
    ->get('/route/{id}', 'controllers.myController:getIndex') 
    ->assert('id', '[0-9]+'); 

$app 
    ->get('/route/{code}', 'controllers.myController:getIndex') 
    ->assert('code', '[a-zA-Z]+'); 

$app 
    ->get('/route/{code}{id}', 'controllers.myController:getIndex') 
    ->value('id', '') 
    ->assert('id', '[0-9]*') 
    ->value('code', '') 
    ->assert('code', '[a-zA-Z]*'); 

パラメータの一つは、2つのルートを追加満たされる必要がある場合

関連する問題