PHP始终运行函数
我正在尝试以JSON格式返回一些错误。因此,我制作了一个类级变量:PHP始终运行函数,php,json,Php,Json,我正在尝试以JSON格式返回一些错误。因此,我制作了一个类级变量: public $errors = Array(); 因此,在脚本下面,不同的函数可能会返回一个错误,并将其错误添加到$errors数组中。但是,我必须使用返回;在某些地方,在发生错误后停止脚本 那么,当我这样做的时候,我怎么还能运行上一个返回所有收集到的错误的错误函数呢?我怎样才能避免不得不停止脚本的问题,但仍然希望返回错误,因为我为什么需要停止脚本 真正的裸骨骨架: $errors = array(); function
public $errors = Array();
因此,在脚本下面,不同的函数可能会返回一个错误,并将其错误添加到$errors数组中。但是,我必须使用返回;在某些地方,在发生错误后停止脚本
那么,当我这样做的时候,我怎么还能运行上一个返回所有收集到的错误的错误函数呢?我怎样才能避免不得不停止脚本的问题,但仍然希望返回错误,因为我为什么需要停止脚本 真正的裸骨骨架:
$errors = array();
function add_error($message, $die = false) {
global $errors;
$errors[] = $message;
if ($die) {
die(implode("\n", $errors));
}
}
真正的裸骨骨架:
$errors = array();
function add_error($message, $die = false) {
global $errors;
$errors[] = $message;
if ($die) {
die(implode("\n", $errors));
}
}
你可以。你可以
$\u会话中
缓存
、XML
或某些存储中模具(打印($errors))
$\u会话中
缓存
、XML
或某些存储中模具(打印($errors))
如果您使用的是PHP5+,那么您的类可以有一个析构函数方法:
public function __destruct() {
die(var_dump($this->errors));
}
如果您使用的是PHP5+,那么您的类可以有一个析构函数方法:
public function __destruct() {
die(var_dump($this->errors));
}
您可以使用一个涉及do{}的技巧
do {
if(something) {
// add error
}
if(something_else) {
// add error
break;
}
if(something) {
// add error
}
}while(0);
// check/print errors
请注意,break,您可以随时使用它来中断do范围,然后您就有了最终的错误返回逻辑。
或者,您可以在函数中执行中的操作{},并使用返回而不是中断,这会更好。或者是的,甚至更好,一个带有析构函数的类。您可以使用一个涉及do{}的技巧
do {
if(something) {
// add error
}
if(something_else) {
// add error
break;
}
if(something) {
// add error
}
}while(0);
// check/print errors
请注意,break,您可以随时使用它来中断do范围,然后您就有了最终的错误返回逻辑。
或者,您可以在函数中执行中的操作{},并使用返回而不是中断,这会更好。或者是的,甚至更好,一个带有析构函数的类。没有假设脚本“已完成”?是的,当错误条件是致命的时,您需要调用
exit()
。没有假设脚本是“已完成”?是的,当错误条件是致命的时,您需要调用exit()
。