allow_call_time_pass_reference

  • Автор темы Автор темы Grobbelaar
  • Дата начала Дата начала

Grobbelaar

Guest
allow_call_time_pass_reference

allow_call_time_pass_reference

По умолчанию этот параметр в php.ini выключен, что ставит под угрозу нормальное функционирование программ на разных серверах. Особенную тревогу вызывают площадки виртуального хостинга.

Как обычно поступают в таких случаях разработчки распространяемого ПО, стремящиеся обеспечить максимальную независиость от конфигурации?
Неужели просто не используют эту весьма полезную возможность? Или пишут два разных варианта кода в зависимости от значения опции? (тогда получатеся чуть ли не две разных программы...)
 
Grobbelaar

гы - первый раз слышу о такой крайне полезной вещи - даже наверное в поиск щас полезу понять что это такое
 
цитируя ман
allow_call_time_pass_reference boolean

Включена ли возможность жёсткой передачи аргументов по ссылке во время вызова функции. Этот метод является устаревшим и скорее всего не будет поддерживаться будущими версиями PHP/Zend. Рекоммендуемым методом указания, какие аргументы должны быть переданы по ссылке, является указание этого при объявлении функции. Вам рекоммендуется попытаться отключить эту опцию, чтобы убедиться, что ваши скрипты будут правильно работают без неё и что они будут работать с будущими версиями языка (вы будете получать предупреждение каждый раз, когда вы будете пользоваться этим методом, и аргументы будут передаваться по значению, а не по ссылке).

Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы не требовалось объявление передачи аргумента по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.
 
блин, наверное я неправильно понял значение параметра.
Очевидно это не полный запрет передачи аргумента по ссылке, а есть какая-то тонкость в PHP4. Какая - пока не понял из описания в php.ini
 
разобрался уже
за то что читал только php.ini а не мануал
сейчас попробую переписать скрипты, которые перестали работать после апгрейда :)
 
Сверху