变量动作名称zend

时间:2014-08-01 13:27:47

标签: php zend-framework

我试图建立密码重置链接,我想知道我是否可以使用令牌的名称进行操作。因此,我将访问此站点/auth/resetpassword/token这样的链接。

我无法在互联网上找到任何记录。

我正在生成我的令牌:

$lengthSalt = 24;
$token = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, $lengthSalt);

1 个答案:

答案 0 :(得分:1)

您需要定义正确的路线

Zend 1.10的示例:http://framework.zend.com/manual/1.10/en/zend.controller.router.html

$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
    'resetpass',
    new Zend_Controller_Router_Route('auth/resetpassword/:token',
                                     array('controller' => 'auth',
                                           'action' => 'resetpassword'))
);

这取决于您定义路线的方式,有多种方法可以做到。

编辑:如果您想使用默认路线,则需要使用此模式:www.yoursite.com/controller/action/var1/value1/var2/value2。

所以对你而言,它将是site.com/auth/resetpassword/token/[token],代替[token]你放置你的令牌值。

然后,您可以在控制器中访问您的变量:

$token = $this->getRequest()->getParam('token');