Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Передача параметров в функцию по ссылке

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
evgenijj
Отправлено: 18 Февраля, 2007 - 10:53:56
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Я решил сменить хостера. Достал меня Valuehost.ru. А у нового хостера столкнулся с такой странностью(?). При попытке передать в функцию параметр по ссылке PHP пишет
Цитата:

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/.../public_html/mod/shop/s hop.php on line 50

Если я правильно перевел, передача параметров по ссылке во время выполнения скрипта не рекомендуется, и в будущем планируется вообще от этого отказаться.
Правильно:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $html = get_product( $id_page, $id_prd, $title_page );
  4. ............................................................................
  5. function get_product( $id_page, $id_prd, &$title_page )
  6. {
  7.     ........................................................................
  8.     return $html;
  9. }
  10. ?>
  11.  

Неправильно:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $html = get_product( $id_page, $id_prd, &$title_page );
  4. ............................................................................
  5. function get_product( $id_page, $id_prd, $title_page )
  6. {
  7.     ........................................................................
  8.     return $html;
  9. }
  10. ?>
  11.  

Можно запретить выдачу предупреждения, разрешив передачу по ссылке во время выполнения:
allow_call_time_pass_reference On
Хотелось бы услышать комментарии по этому поводу: это принципиальная ошибка (и мне придется исправить какое-то количество скриптов) или можно и так оставить? Я так понимаю, единого мнения по этому вопросу нет. У старого хостера
allow_call_time_pass_reference On
а у нового
allow_call_time_pass_reference Off
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB