2012-06-09 59 views
2

我對這個問題感到無聊,但是如何獲得​​的價值? _object被保護,所以PHP告訴我我不能。我正在使用Recurly的PHP庫。如何獲取此對象中的值?

object(Recurly_SubscriptionList)#47 (7) { 
    ["_etag":"Recurly_Pager":private]=> NULL 
    ["_position":"Recurly_Pager":private]=>int(0) 
    ["_count":"Recurly_Pager":private]=>NULL 
    ["_objects":protected]=> array(1) { 
    [0]=> object(Recurly_Subscription)#50 (6) { 
     ["_values":protected]=> array(11) { 
     ["subscription_add_ons"]=> array(0) {} 
     ["account"]=> object(Recurly_Stub)#54 (4) { 
      ["objectType"]=> string(7) "account" 
      ["_href":protected]=> string(37) "https://api.recurly.com/v2/accounts/1" 
      ["_client":protected]=>NULL 
      ["_links":protected]=>array(0) {} 
     } 
     ["plan"]=> hello 
+0

是否有返回個人訂閱的API函數中的? –

回答

2

因此,因爲我來自Java背景,我期待getVar()函數。事實證明,PHP的Magic Method __get()允許我正常訪問它,如果你正確地超載你的__get()

因此,針對這種情況,如果您正在使用Recurly PHP Library,則必須使用foreach才能訪問對象,然後通常只需訪問​​即可。

例如, 假設對象是變量$subscriptions的值之上:

foreach($subscriptions as $subscription) { 
     echo $subscription->plan; 
} 
1

必須有某種對象方法將數據返回給您。閱讀班級文件。

+0

'__get' - 非常神奇。我通過源代碼閱讀並發現它。 – Strawberry