0

Brontoから事前に作成されたコードを使用して、soapクライアントを構築し、その上で関数を呼び出してから、結果を解析します。解析コードは次のようになります。

if ($write_result->errors) {
    print "There was a problem adding or updating the contact:\n";
    print_r($write_result->results);
    exit;
 } elseif ($write_result->results[0]->isNew == true) {
    print "The contact has been added.  Id: " . $write_result->results[0]->id . "\n";
 } else {
    print "The contact's information has been updated.  Id: " . $write_result->results[0]->id . "\n";
 }

エラーがあるときはいつでも、それらは最初のifステートメントによって捕らえられて印刷されます。ただし、エラーが発生していない場合、コンソールには「通知:未定義のプロパティ:stdClass ::$errors」というメッセージが出力されます。これは正しいですか?通知をオフにする方法はありますか?問題は発生しませんが、技術者以外の人が出力ログを読み取るのを混乱させることがわかります。

4

3 に答える 3

2

プロパティに直接アクセスするのではなく、プロパティが存在するかどうかを確認します。

if (isset($write_result->errors))

または、それが存在、一度に空ではないかどうかを確認します(APIが変更され、エラーが発生しなかった場合に実際の空の配列または空の文字列を提供する場合に備えて):

if (!empty($write_result->errors))
于 2013-03-12T13:59:48.407 に答える
1

プロパティが最初に存在することを確認します。

if (property_exists($write_result, 'errors') && $write_result->errors)
{
  // ...
}

参照:property_exists

于 2013-03-12T13:59:28.970 に答える
1

プロパティが存在するかどうかを最初に確認できます:

if (property_exists($write_result, 'errors'))
于 2013-03-12T13:59:31.377 に答える