|
|
|
| Доброй ночи. Туплю что-то.
Нужно получить последний результат, который возвратила функция.
Вот ф-ция, она возвращает $output. Она используется несколько раз и мне нужно, чтобы последний возвращенный результат вывелся. То есть echo $output.
Возможно такое? Или я просто пересидел..
<?
public function views($template, $vars = array()) {
extract($vars, EXTR_SKIP);
ob_start();
include($this->path . $template);
$output = ob_get_contents();
ob_end_clean();
return $output;
}
|
| |
|
|
|
|
|
|
|
для: belkin
(30.09.2012 в 06:15)
| | Просто при вызове сохраняйте результат работы функции в одну и ту же переменную, которую выводите при помощи оператора echo ровно один раз. | |
|
|
|
|
|
|
|
для: cheops
(30.09.2012 в 08:15)
| | Да, это верно, знаю.
Смотрите в чем дело, если я напишу так(это уже пример исп.):
<?
echo $v->views('a.tpl', array(
'title' => 'Супер блог',
'b' => $v->views('b.tpl', array(
'test' => 12345
))
));
| , то получится тот вывод, что требуется, но я хотел бы, чтобы вывод был сразу:
<?
$v->views('a.tpl', array(
'title' => 'Супер блог',
'b' => $v->views('b.tpl', array(
'test' => 12345
))
));
| , а если написать в ф-ции вместо return - echo, то он будет выводить каждый пропарсенный шаблон сразу, а мне нужен только последний результат. | |
|
|
|
|
|
|
|
для: Belkin
(30.09.2012 в 16:55)
| | Вы не сможете определить какая функция была вызвана последней, все-таки придется использовать первый вариант... тем более, что второй вариант в принципе бессмысленен, если вы выводите данные внутри views(), так как не происходит инициализация элемента с ключом 'b', да и стороннему разработчику придется поломать над ним голову. | |
|
|
|
|
|
|
|
для: cheops
(30.09.2012 в 20:45)
| | А что если все возвращенные результаты собирать в $arr[] и в деструкторе класса View вызывать echo $arr[count($arr)-1] ? :) | |
|
|
|
|
|
|
|
для: Belkin
(30.09.2012 в 23:24)
| | Деструктор для таких задач не предназначен, не говоря уже о том, что вы зря расходуете память под довольно сомнительную задачу. Можно и исключение генерировать, но такие инструменты для штатных задач не используют - код будет выглядеть не профессионально. | |
|
|
|
|
|
|
|
для: cheops
(01.10.2012 в 08:13)
| | Согласен, просто думал как вариает :) Спасибо за советы. | |
|
|
|