函数名称:Yaf_Controller_Abstract::redirect()
函数描述:该函数用于重定向用户请求到另一个URL。
适用版本:Yaf框架版本3.0.0以上
用法:
基本用法:
$this->redirect($url);
参数
$url
为重定向的目标URL。重定向到指定模块、控制器和动作:
$this->redirect('/module/controller/action');
通过指定模块、控制器和动作的方式进行重定向。
重定向并传递参数:
$this->redirect('/module/controller/action', array('param1' => 'value1', 'param2' => 'value2'));
可以通过数组传递参数,参数将会以GET方式附加在URL后面。
重定向到指定路由:
$this->redirect('/route_name');
可以通过指定路由名称进行重定向。
示例:
假设我们有一个模块名为"demo",控制器名为"index",动作名为"index",我们可以使用如下代码进行重定向:
class IndexController extends Yaf_Controller_Abstract
{
public function indexAction()
{
// 重定向到/demo/index/test
$this->redirect('/demo/index/test');
}
}
假设我们需要传递参数,我们可以使用如下代码进行重定向:
class IndexController extends Yaf_Controller_Abstract
{
public function indexAction()
{
// 重定向到/demo/index/test?param1=value1¶m2=value2
$this->redirect('/demo/index/test', array('param1' => 'value1', 'param2' => 'value2'));
}
}
需要注意的是,重定向操作会立即结束当前请求,并将用户重定向到指定URL。因此,如果在重定向之后还有一些逻辑需要执行,应该在重定向之前将这些逻辑处理完毕。