Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对象作为exit()参数_Php_Fuelphp - Fatal编程技术网

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()参数将是有效的?所以我用这种方式编码没有任何问题?