Kar*_*rma 9 php cakephp cakephp-routing cakephp-2.4
我想要实现的目标:
用户通过时:
/results?val=real&x=1&y=0
Run Code Online (Sandbox Code Playgroud)
它应该显示:
/results/real.html?x=1&y=0
Run Code Online (Sandbox Code Playgroud)
从Action我应该仍然能够访问$this->request->query['val']哪些应该等于real
到目前为止我做了什么?
我正在使用CakePHP 2.4
Router::parseExtensions('html');
Router::connect('/results/:val',
array('controller'=>'Post','action'=>'results',
'?' => array('val'=>'[A-Za-z0-9]-_ +','x'=>'[0-9]+','y'=>'[0-9]+')));
Run Code Online (Sandbox Code Playgroud)
Ani*_*mar 11
只需在routes.php文件中定义如下所示的路线即可.
Router::connect(
'/results/:val',
array(
'controller' => 'Post',
'action' => 'results',
),
array(
'pass' => array('val')
)
);
Run Code Online (Sandbox Code Playgroud)
您可以设置如下所示的参数,以便以您希望的方式生成链接.
echo Router::url(array(
'controller' => 'Post',
'action' => 'results',
'val' => 'real',
'ext' => 'html',
'?' => array('x' => '1', 'y' => '0')
));
Run Code Online (Sandbox Code Playgroud)
哪个显示: results/real.html?x=1&y=0