Передача параметров по ссылке в PHP
Как-то один свежеперенесённый проект накакал в логи приличное количество сообщений.
В них он слёзно молил включить ему allow_call_time_pass_reference — иначе он работать отказывался.
Иню-то включили, — но заставило насторожиться — с чего это ссылки начали так ругаться.
И вот он и ответ:
allow_call_time_pass_reference (boolean)
In PHP5, allow_call_time_pass_reference is deprecated, in versions prior to PHP 5.3.0, use of this feature will emit an E_COMPILE_WARNING, and in PHP 5.3.0+, the warning is a E_DEPRECATED notice.
Cуть в том, что больше нельзя передавать в функциюю ссылку начиная с 5.3, но можно принимать ссылку.
В говнокоде соответственно пестрили конструкции вида $x = foo (&$a);
Правильно — $x = foo ($a); function foo (&$a){...}
Пипец, как же в перле с этим хорошо!