Вопрос о синтаксисе PHP - PullRequest
       5

Вопрос о синтаксисе PHP

1 голос
/ 04 февраля 2010

Я почему-то рисую бланк о том, как получить доступ к этой информации в объекте (это Zend_Db_Table_Row, но я думаю, что это не относится к делу).Вот print_r, я хотел бы получить только массив, присвоенный [_data: protected]

MyClassName Object
(
[_data:protected] => Array
    (
        [param1] => 1
        [param2] => Some info
        [param3] => ....
    )

... lots more unneeded info such as 'cleandata' and table schema information

Я знаю, что могу получить доступ ко всем данным, используя $ instance-> param1 и т. Д., Но яприсваивая его сеансу и хотел бы просто сказать

$sessionNamespace = $instance->data;

... чтобы не хранить информацию о схеме таблицы и не выполнять итерацию по массиву и назначатьэто вручную.Спасибо.

Ответы [ 2 ]

5 голосов
/ 04 февраля 2010

а как же Zend_Db_Table_Row::toArray()?

1 голос
/ 04 февраля 2010

Поскольку он имеет :protected, это означает, что он был объявлен protected, и поэтому вы не можете получить к нему доступ. Фактический класс или производный от него класс (то есть extends it) должен передать его вам с помощью вызова функции.

Возможно, вы захотите проверить API для метода типа getData(), который возвращает все данные, или serialize(), если объект поддерживает сериализацию.

Редактировать: И вот один из них: Как предложил Zerkms, вы можете использовать toArray() для доступа к нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...