2017-05-08 80 views
0

我有一個受保護屬性的對象,我想獲得dateTime如何獲得PHP中對象的受保護屬性值

1)modelData->start->dateTime //2017-05-10T17:00:00+05:30 
2)modelData->end->dateTime //2017-05-10T17:20:00+05:30 

物體看起來像

Google_Service_Calendar_Event Object 
(
    [collection_key:protected] => recurrence 
    [attachmentsType:protected] => Google_Service_Calendar_EventAttachment 
    [created] => 2017-05-08T07:05:43.000Z 
    [creatorType:protected] => Google_Service_Calendar_EventCreator 
    [creatorDataType:protected] => 
    [description] => 
    [endType:protected] => Google_Service_Calendar_EventDateTime 
    [endDataType:protected] => 
    [endTimeUnspecified] => 
    [etag] => "2988454353000000" 
    [extendedPropertiesType:protected] => Google_Service_Calendar_EventExtendedProperties 
    [extendedPropertiesDataType:protected] => 
    [gadgetType:protected] => Google_Service_Calendar_EventGadget 
    [visibility] => 
    [internal_gapi_mappings:protected] => Array 
     (
     ) 

    [modelData:protected] => Array 
     (
      [creator] => Array 
       (
        [email] => [email protected] 
        [self] => 1 
       ) 

      [organizer] => Array 
       (
        [email] => [email protected] 
        [self] => 1 
       ) 

      [start] => Array 
       (
        [dateTime] => 2017-05-10T17:00:00+05:30 
        [timeZone] => Asia/Calcutta 
       ) 

      [end] => Array 
       (
        [dateTime] => 2017-05-10T17:20:00+05:30 
        [timeZone] => Asia/Calcutta 
       ) 

      [reminders] => Array 
       (
        [useDefault] => 1 
       ) 

     ) 

) 

PHP腳本:

我可以得到ETag值不開發生產

echo "-----".$result->getEtag(); //"2988454353000000" 

我不能開始和結束的值與開發生產

echo "-----".$result = $event->getData(); //Error undefined method 

我請參閱:

Get string within protected object

How to get protected property of object in PHP

請指點!

回答

0

Visibility

聲明爲受保護成員只能在類 本身和繼承類訪問。

如果您需要訪問外部的財產,挑一個: •不要聲明它作爲保護,把它公開,而不是 •寫一對夫婦的功能,以獲取和設置值(getter和setter )

如果你不想修改原始類(因爲它是你不希望搞成一個 第三方庫)創建一個自定義類 擴充了原來的一個:

class My_Google_Service_Calender_Event extends Google_Service_Calendar_Event { 
} 
+0

假設'result'是一個對象。如何顯示? –

+0

$ my_array =(array)$ result;後續代碼var_dump($ my_array); – Osama

+0

我的朋友我認爲你需要閱讀從PHP手冊http://php.net/manual/en/function.get-object-vars.php – Osama