0

何らかの理由var_dumpで、変数内のオブジェクト データを表示すると、CakePHP の を使用すると何も表示されませんdebug。何故ですか?

デバッグを使用すると、これだけしか取得できませんが、var_dump を使用すると、オブジェクトに多くのものがあります。

デバッグの現在の設定:

Configure::write('debug', 2);

動作しません:

debug($account);

出力:

object(Recurly_Account) {

}

作品:

echo "<pre>";
var_dump($account);
echo "</pre>";

出力:

object(Recurly_Account)#31 (6) {
  ["_values":protected]=>
  array(12) {
    ["adjustments"]=>
    object(Recurly_Stub)#34 (4) {
      ["objectType"]=>
      string(11) "adjustments"
      ["_href":protected]=>
      string(49) "https://api.recurly.com/v2/accounts/1/adjustments"
      ["_client":protected]=>
      NULL
      ["_links":protected]=>
      array(0) {
      }
    }
    ["billing_info"]=>
    object(Recurly_Stub)#35 (4) {
      ["objectType"]=>
      string(12) "billing_info"
      ["_href":protected]=>
      string(50) "https://api.recurly.com/v2/accounts/1/billing_info"
      ["_client":protected]=>
      NULL
      ["_links":protected]=>
      array(0) {
      }
    }
    ["invoices"]=>
    object(Recurly_Stub)#36 (4) {
      ["objectType"]=>
      string(8) "invoices"
      ["_href":protected]=>
      string(46) "https://api.recurly.com/v2/accounts/1/invoices"
      ["_client":protected]=>
      NULL
      ["_links":protected]=>
      array(0) {
      }
    }
    ["subscriptions"]=>
    object(Recurly_Stub)#37 (4) {
      ["objectType"]=>
      string(13) "subscriptions"
      ["_href":protected]=>
      string(51) "https://api.recurly.com/v2/accounts/1/subscriptions"
      ["_client":protected]=>
      NULL
      ["_links":protected]=>
      array(0) {
      }
    }
    ["transactions"]=>
    object(Recurly_Stub)#38 (4) {
      ["objectType"]=>
      string(12) "transactions"
      ["_href":protected]=>
      string(50) "https://api.recurly.com/v2/accounts/1/transactions"
      ["_client":protected]=>
      NULL
      ["_links":protected]=>
      array(0) {
      }
    }
    ["account_code"]=>
    string(1) "1"
    ["state"]=>
    string(6) "active"
    ["email"]=>
    string(20) "test1@test.com"
    ["first_name"]=>
    string(7) "test"
    ["last_name"]=>
    string(3) "test"
    ["hosted_login_token"]=>
    string(32) "19415f3937cd6079c96e5141fe99bc49"
    ["created_at"]=>
    object(DateTime)#39 (3) {
      ["date"]=>
      string(19) "2012-06-09 18:49:02"
      ["timezone_type"]=>
      int(2)
      ["timezone"]=>
      string(1) "Z"
    }
  }
  ["_unsavedKeys":protected]=>
  array(0) {
  }
  ["_errors":protected]=>
  NULL
  ["_href":protected]=>
  string(37) "https://api.recurly.com/v2/accounts/1"
  ["_client":protected]=>
  object(Recurly_Client)#27 (2) {
    ["_apiKey":"Recurly_Client":private]=>
    NULL
    ["_acceptLanguage":"Recurly_Client":private]=>
    string(5) "en-US"
  }
  ["_links":protected]=>
  NULL
}
4

2 に答える 2

0

これは私が最近CakePHP2.3で修正したものです(PHP 5.3+が必要です)。

以前は、オブジェクトのパブリックプロパティのみが表示されていました。現在の2.3ヘッドと私の拡張機能を使用すると、すべての保護されたプライベートプロパティも表示されます(Reflectionを使用-ちなみにprint_rはネイティブに提供できます)。

ここでチケットを見ることができます:http://cakephp.lighthouseapp.com/projects/42648-cakephp/tickets/3095-enable-debuggerexportvar-to-display-protected-and-private-class-properties#ticket-3095-3

于 2012-08-14T01:09:41.040 に答える
0

非標準エンコーディング文字print_rについては、出力される値を再確認してください。

于 2012-08-14T00:57:57.953 に答える