Столкнулся в работе с такой проблемой: Warning: Call-time pass-by-reference has been deprecated in XXXX on line YYYY Возникает при вызове мною определенных функций, не части PHP или модулей. И при поиске решения наткнулся на данную фразу: Call-time pass-by-reference has been deprecated in PHP 5 and will not even be available in PHP6. Очень хотелось-бы это обсудить. В шестерке все параметры кроме классов будут передаваться по значению?
Нет. Нужно в определении функции указать, что этот параметр будет передаваться по ссылке. Ошибка возникает при передаче ссылки в параметре, который в определении указан, как обычная переменная.
Т.е. вся проблема в том, что у меня в коде кроме обявления by-ref переменных в самой функции (что остается корректным в php6) еще указаны by-ref модификаторы при вызове? Просто в пятерке их указание не влияет на работу, если они указаны в описании функции. Я лично их пишу, что бы сразу было видно в коде, что тут передача по ссылке. В шестерке просто не нужно писать & при вызове? Остальная логика не меняется?
>>Этого достаточно для корректной передачи аргументов по ссылке. Достаточно, но не является запретным. По крайней мере раньше не являлось.