在PHP / Kohana中,我有控制器动作方法,它做了一些处理。完成后,我想将它发送给另一个控制器,例如:
public function action_import_csv()
{
Kohana_Import_Driver_Csv::process_files_from_csv_to_mysql($this->import_directory);
//url::redirect(Route::get('backend_application')->uri()); //undefined method URL::redirect()
//redirect(Route::get('backend_application')->uri(), null); //undefined function
}
根据this documentation,至少第一次重定向应该有效。我正在使用 Kohana 3 。
如何从此控制器操作方法向新控制器/操作发送执行?
出于某种原因,url :: redirect不可用,这是我为url::
获得的代码完成情况:
@bharath,我尝试url::current()
并收到此错误:
答案 0 :(得分:8)
问题在于您正在查看Kohana 2文档。转到kohana主页,找到正确的文档。此外,出于某种原因,即使你说你正在与3合作,每个人都会给你Kohana 2个答案。
要重定向,请从控制器的上下文执行此操作:
$this->request->redirect($something);
$something
可能是:
controller
controller/action
http://url.com
Here是redirect
方法的api文档(请注意,这使用url::site
来解析网址;您可能也想查看该方法的来源。
答案 1 :(得分:0)
我不是很确定,但我认为您可以简单地使用redirect()
函数传递您要发送到的其他控制器中的任何参数
示例
redirect(controllername/method)
答案 2 :(得分:0)
不应该是:
url::redirect('controller/method');
如果它不起作用,你可能在调用重定向之前有一些输出(在这种情况下你可能会得到“Headers already sent”错误。)