私は Kohana 3.3 を使用しています。Clean URL の実装へのルートの例を教えてください。
site.ru/param1/param2/param3/.../paramN/id
パラメータの数は不明ですが、後者は常に「id」の価値があります。つまり、さまざまなバリアントがあります。
site.ru/param1/param2/param3/.../paramN/id
site.ru/param1/id
site.ru/id
私は Kohana 3.3 を使用しています。Clean URL の実装へのルートの例を教えてください。
site.ru/param1/param2/param3/.../paramN/id
パラメータの数は不明ですが、後者は常に「id」の価値があります。つまり、さまざまなバリアントがあります。
site.ru/param1/param2/param3/.../paramN/id
site.ru/param1/id
site.ru/id
とてもいい小さなバッタ、ここに何か遊びがあります:
parameters
次のルートには、 (0..n)の任意の量がかかります。<id>
数値を表します:
Route::set('testparams', 'account(/<params>)/<id>',
array(
'params' => '.+',
'id' => '\d+'))
->defaults(array(
'controller' => 'account',
'action' => 'test',
));
コントローラーaccount
とメソッドtest
は次のようになります。
class Controller_Account extends Controller {
public function action_test()
{
$params = $this->request->param();
echo Debug::vars($params);
$id = $this->request->param('id');
echo Debug::vars($id);
exit;
}
}
テスト 1:
http://localhost//account/p1/p2/p3/p4/p5/500
// result:
array(2) (
"params" => string(14) "p1/p2/p3/p4/p5"
"id" => string(3) "500"
)
string(3) "500"
テスト 2:
http://localhost/account/500
// result:
array(2) (
"params" => string(0) ""
"id" => string(3) "500"
)
string(3) "500"