[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получение имени переменной по ссылке
pveselov
Реализовываю следующую задачу:

есть мой самописный класс Helper


class My_Helper_Chart
extends Zend_View_Helper_Placeholder_Container_Standalone {
protected $id;
protected $type;
protected $container;

public $body;

public function chart($id, $container = 'container', $type = 'bar') {
$this->id = $id;
$this->container = $container;
$this->type = $type;

$this->body = $this->create();

$this->add();
...


return $this;
}

protected function add() {
/* например, что-то вроде этого */

$chart = $this->create();
$chart->container = $this->container;
$chart->type = $type;

$this->append($chart);

...

}

protected function create() {
/* например такой, ну или экземпляр любого другого класса */
return new stdClass();
}

protected function append(&$object) {

$name = ... ;

$this->body->$name = $object;
}

public function __toString() {
echo json_encode($this->body);
}
}



Суть такая, на выходе я хочу получить что-то вроде этого:

{
body: {
chart: {
container: 'container',
type: 'bar',
...

},
...

}
}



вопрос по реализации метода append:

Тут должен быть код, который по ссылке узнает наименование переменной переданной в качестве аргумента, т.е. если я в метод append передал $chart, значит в body должно записаться свойство chart, и аналогично если я передам $lines в аргумент, то в body запишется свойство lines а значением будет значение переменной $lines.

Я даже не прошу за меня писать код, просто подскажите путь решения данной задачи, сразу скажу что передавать вторым аргументом имя нельзя.

Заранее спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.