FuelPHP HMVC请求得到重定向。如何停止重定向?
我被跟踪并在detect\u language方法的顶部插入自定义语言url重定向 当像这样请求url时,这些语言url重定向正在工作FuelPHP HMVC请求得到重定向。如何停止重定向?,php,fuelphp,Php,Fuelphp,我被跟踪并在detect\u language方法的顶部插入自定义语言url重定向 当像这样请求url时,这些语言url重定向正在工作 http://localhost -> http://localhost/en http://localhost/page -> http://localhost/en/page 现在,在我的控制器里。我使用HMVC请求小部件方法 $hmvc = \Request::forge('TestFuelphp/widget', false)->
http://localhost -> http://localhost/en
http://localhost/page -> http://localhost/en/page
现在,在我的控制器里。我使用HMVC请求小部件方法
$hmvc = \Request::forge('TestFuelphp/widget', false)->execute();
echo $hmvc;
FuelPHP在没有语言url重定向的情况下工作正常,但在打开语言url重定向时出现错误“未正确重定向”
如果我像这样使用HMVC请求,一切正常
$hmvc = \Request::forge('en/TestFuelphp/widget', false)->execute();
echo $hmvc;
如何在HMVC请求中停止重定向
源代码
类控制器\u TestFuelphp扩展\Controller
{
公共职能行动请求InControl智能驭享应用程序()
{
回显“类:”。\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
“方法:”。“函数”。
'
.“文件:”。\uuuu文件\uuuuu;
回声“
”;
echo“获取函数参数:
”;
$args=func_get_args();
打印费用($args);
回声';
回声“
”;
echo“请求的hmvc”;
//$hmvc=\Request::forge('test-fuelphp/widget',false)->execute();
$hmvc=\Request::forge('TestFuelphp/widget')->execute();//与上述结果相同。
echo$hmvc;
}
公共函数操作_widget()
{
如果(!\Request::is_hmvc()){
echo“这不是hmvc请求”;
}否则{
回显“类:”。\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
“方法:”。“函数”。
'
.“文件:”。\uuuu文件\uuuuu;
回声“
”;
echo“获取函数参数:
”;
$args=func_get_args();
打印费用($args);
回声';
}
}
}
fuel/app/classes/controller/testfuelphp.phpi18n解决方案修改Uri类。每个请求都将创建自己的Uri实例,以处理传递给它的Uri。这意味着它还将通过HMVC请求的“检测语言”位 这个解决方案不是很好,而且(正如您所注意到的)不适用于HMVC请求 如果需要这种类型的解决方案,最好重载Input::uri()。调用父级以确定URI,返回时检查第一个段,设置区域设置并删除它(如果存在)
class Controller_TestFuelphp extends \Controller
{
public function action_requestInControllerInApp()
{
echo 'class: ' . __CLASS__ . '<br>'
. 'method: ' . __FUNCTION__ . '<br>'
. 'file: ' . __FILE__;
echo '<hr />';
echo 'get function arguments:<br /><pre>';
$args = func_get_args();
print_r($args);
echo '</pre>';
echo '<hr />';
echo '<h2>Requested hmvc</h2>';
// $hmvc = \Request::forge('test-fuelphp/widget', false)->execute();
$hmvc = \Request::forge('TestFuelphp/widget')->execute(); // same result as above.
echo $hmvc;
}
public function action_widget()
{
if (!\Request::is_hmvc()) {
echo 'This is not hmvc request.';
} else {
echo 'class: ' . __CLASS__ . '<br>'
. 'method: ' . __FUNCTION__ . '<br>'
. 'file: ' . __FILE__;
echo '<hr />';
echo 'get function arguments:<br /><pre>';
$args = func_get_args();
print_r($args);
echo '</pre>';
}
}
}