Показать сообщение отдельно
  #1 (permalink)  
Старый 03.02.2013, 22:32
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Передача аргументов по ссылке (PHP)
Call-time pass-by-reference has been deprecated - argument passed by value

В который раз натыкаюсь на это. Задолбало. Тема давно известная. О способах устранения этой проблемы пишут все кому не лень, но ни кто не пишет как теперь жить без этих ссылок.

Предположим у меня массив сообщений в блоге
$_blogItems

И функция подключающая шаблон примерно так:
ob_start();
include $filename;
$tmpl = ob_get_contents();
ob_end_clean();
return $tmpl;

Раньше я мог передать ей $_blogItems по ссылке и изменить его по вкусу. Сделать какие то специфичные для конкретного проекта преобразования. Напр. форматирование даты, каких то денежных величин, чтобы не вносить это в класс модуля. Теперь я это сделать не могу. Как быть? Сессия? Глобальное пространство?

Пока писал, возникла идея. Но не хочется сейчас пол CMS перепиливать.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием