Php 对象作为exit()参数
这是真的吗?因为它起作用了Php 对象作为exit()参数,php,fuelphp,Php,Fuelphp,这是真的吗?因为它起作用了 if(empty($query)) { exit(View::forge('error', $data)); //View::forge('error', $data) = object } 根据PHP手册,应该只接受“string”或“int”作为参数 所以我试着: if(empty($query)) { return View::forge('error', $data); //will not display } retur
if(empty($query)) {
exit(View::forge('error', $data));
//View::forge('error', $data) = object
}
根据PHP手册,应该只接受“string”或“int”作为参数
所以我试着:
if(empty($query)) {
return View::forge('error', $data); //will not display
}
return View::forge('default', $data); //displays
但它似乎忽略了它并显示了默认模板,因此我尝试将其与退出组合:
if(empty($query)) {
return View::forge('error', $data); //will not display
exit;
}
return View::forge('default', $data); //displays
但仍然是相同的结果,我想知道的是退出($obj)在fuelphp中有效吗?因为它似乎起作用了
if(empty($query)) {
exit(View::forge('error', $data));
//View::forge('error', $data) = object
}
我想做的是,如果查询是空的页面将显示错误模板而不是默认模板,任何帮助将不胜感激,谢谢 如果对象的结果是字符串或整数,则它符合手册中设定的标准。exit
括号内的任何内容都作为PHP行执行;请参见下面的示例:
$a = 4;
$b = 17;
exit(print $a * $b);
这将输出
68
那么,关于你的问题:
如果View::forge
的返回结果是字符串或其他可打印输出,则它符合exit
设置的标准,并相应地执行
不起作用的是非整数、非字符串结果,例如:
$a[] = "trees";
$b[] = "cats";
exit(array_merge($a,$b));
给出:
注意:第4行的数组到字符串转换
由于这种“转换”,我希望如果您将一个对象传递给
exit
函数,那么它可能会尝试使用\uu toString()
类方法(如果可用)(但我还不确定) Fuel的视图类有一个_toString()方法,该方法调用render()来渲染视图模板。这样使用时,对象将返回一个字符串。谢谢您的回复!我尝试了var_dump(View::forge('error',$data));它返回->object(Fuel\Core\View)#23(){…等等。你的意思是说对象被处理为字符串?exit()参数将是有效的?所以我用这种方式编码没有任何问题?