этот вопрос, похоже, много в Google, и я все еще не понимаю, как это сделать.Как преобразовать объект в json-данные с помощью рамки zend?
Я делаю fetchAll
и я получить обратно либо объект или массив объектов:
если я var_dump это я получаю:
array(3) {
[0] object(Model_Model)#163 (55) {
['_name':protected] = NULL
['_info1':protected] = NULL
}
[1] object(Talents_Model)#172 (55) {
['_name':protected] = NULL
['_info1':protected] = NULL
}
[2]object(Talents_Model)#143 (55) {
['_name':protected] = NULL
['_info1':protected] = NULL
}
}
если я сделать $ это -> _ helper-> json ($ the_object); or
json_encode` я получаю пустой JSON объектов [{}, {}, {}, {}]
есть способ преобразования этих объектов в JSON непосредственно, независимо от того, если есть один объект или массив из них ?
благодаря
я пишу то, что решатель эта проблема:
public static function getProperties($object)
{
$array = array();
$reflection = new ReflectionObject($object);
foreach($reflection->getProperties(ReflectionProperty::IS_PROTECTED) as $property)
{
$property->setAccessible(TRUE);
if(!$property->isStatic())
{
$array[preg_replace('/_/', '', $property->getName(), 1)] = $property->getValue($object);
}
}
if(empty($array)) return;
return $array;
}
этот метод может быть изменен, чтобы быть немного более универсальным и я также использовать reflections
новый в PHP 5.4
в моей установке свойства защищен не являются проблемой. – Patrioticcow