Smarty и разыменование

HraKK

Мудак
Команда форума
Smarty и разыменование

Ассигню обьект Object в смарти, из шаблона делаю
{$Object->getAnotherObject()->property}
Выкидывает syntax error: unrecognized tag
Я что-то не то делаю или у Смарти плохо с разыменованием?

-~{}~ 07.01.09 18:31:

Нашол что Smarty не поддерживает разыменование обьектов. Выкинул Квики, теперь придеться и Smarty... А жалко.
 

fixxxer

К.О.
Партнер клуба
если тебе в шаблонах нужны такие вы2.718боны, помоему проще пользовать обычный похапе. один хрен получается.
 

HraKK

Мудак
Команда форума
Это не ххххххх. Это обычная практика имхо, лучше работать с 1 обьектом чем ассигнить тонну значений.
 

Фанат

oncle terrible
Команда форума
ты таки не понял, что он сказал. там надо фразу целиком в контексте воспринимать
 

HraKK

Мудак
Команда форума
Да я понял что он сказал :) Я понимаю что один хрен, я все равно пишу на native. Но вот проблема что не все нативе пользуются, вот и хотелось бы оставить совместимость в цмс и со смарти.
 

dadoc

Новичок
Можно обернуть $Object в другой класс который через __get будет возвращать необходимые объекты. Тогда получится {$Object->AnotherObject->property} вместо {$Object->getAnotherObject()->property}
 

zerkms

TDD infected
Команда форума
HraKK
PHP:
for chaining methods (*->*->*...) replace 172-173:
        $this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . ')+)';
        $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?)';
by:
        $this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . '(?:'.$this->_obj_params_regexp.')?)+)';
        $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp .'|' . $this->_dvar_math_var_regexp . ')*)?)';
 
Сверху