我正在使用PHP中的joomla MVC组件。 我需要以下功能1)& 2)在我的组件代码中的一个model.php中。
function xyz()
{
//blah blah
//1) I have to redirect
$mainframe->redirect( 'index.php?option=com_abc','');
//2) and also return value to caller function
return $row;
}
我如何实现这一目标?
谢谢:)
答案 0 :(得分:2)
通常,在MVC方法中,模型不应该重定向用户,这是在控制器上完成的。在控制器上,您可以执行以下操作:
$this->setRedirect($url, $optional_message);
// some more code to be executed
这样,用户将在当前控制器的操作完成后重定向,而不是在您调用setRedirect方法时完全重定向
但如果您确实需要在模型上执行此操作,则可以将控制器作为参数传递给模型的函数,并从那里设置重定向并返回值:
<?php
function xyz($controller)
{
$controller->setRedirect( 'index.php?option=com_abc','');
return $row;
}
?>
然后,在你的控制器中:
$model->xyz($this);