ajaxを介してのみアクセスされるphpファイルがあります。ajax呼び出しは、json_encode
d出力としてフォーマットされたデータのみを想定しています。私は、phpエラーをキャッチするカスタムエラーハンドラー関数を作成しようとしています。それらを直接出力するのではなく、jsonパーサー用にエンコードされた配列に渡します。
これまでのところ私は
// error handler function
function handleErrors($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno)) {
// This error code is not included in error_reporting
return;
}
$response['php_error'][] = "Error [$errno] - $errstr on line $errline in file $errfile";
/* Don't execute PHP internal error handler */
return true;
}
set_error_handler("handleErrors");
//do other stuff that might trigger php errors
if ($result===true){
$response['success'] = true;
}else{
$response['success'] = false;
$response['error'] = $result;
$response['request'] = json_encode($_REQUEST);
}
echo json_encode($response);
私の問題は、$response
配列がドキュメントの残りの部分にアクセスできないため、jsonオブジェクトに出力されることです。参照によって変数をカスタム関数に渡す方法や、見落としている別の方法はありますか?