Как взять значение массива объектов в php? - PullRequest
1 голос
/ 12 января 2012

Получить значение массива объекта в php

 $obj = new Basecamp($bcUrl, $bcApikey, 'X', 'simplexml');

при печати объекта

    print_r($obj);

Получить массив следующим образом:

Basecamp Object
(
    [request:protected] => 
    [baseurl:protected] => https://test.basecamphq.com/
    [format:protected] => simplexml
    [username:protected] => 5d4dsh8745hkf876kjdfhkfsd843ea46a
    [password:protected] => X
    [request_body:protected] => 
)

Я хочу получить значение [baseurl: protected], т.е. получить 'https://test.basecamphq.com/' только от этого объекта.

Ответы [ 3 ]

4 голосов
/ 12 января 2012

[baseurl:protected] означает, что объект имеет свойство с именем baseurl, которое имеет видимость protected. Это означает, что вы можете , а не получить доступ к нему напрямую из-за пределов класса. Посмотрите в документации класса, как вы должны получить к нему доступ. Вероятно, у него есть метод, подобный getBaseurl, который позволяет вам сделать это.

1 голос
/ 12 января 2012

Предполагая, что basecamp-php-api , который вы используете, Basecamp класс имеет метод getBaseurl(), с помощью которого можно получить базовый URL.вы можете расширить класс Basecamp следующим образом, чтобы получить доступ к защищенным членам:

class MyBasecamp extends Basecamp {
   public function getBaseurl() {
      return $this->baseurl;
   }
}
0 голосов
/ 12 января 2012

Вы не можете получить значение baseurl свойства объекта BaseCamp вне его, потому что это protected.Вам нужно использовать какой-нибудь метод получения.

...