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 :: Переменные не создаются динамически в Yii 2

 PHP.SU

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


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

> Описание: почему-то переменные не создаются динамически
Nesquik
Отправлено: 07 Марта, 2016 - 02:05:48
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




Если не объявлять заранее переменную, например $var = null, то при появление $var ловим Undefined variable: var Не понял
 
 Top
Мелкий Супермодератор
Отправлено: 07 Марта, 2016 - 09:28:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




А вопрос в чём? В том, что вы впервые увидели всего-лишь E_NOTICE?


-----
PostgreSQL DBA
 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2016 - 11:22:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Вангую что ответ - область видимости


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 13:45:44
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




Мелкий пишет:
А вопрос в чём? В том, что вы впервые увидели всего-лишь E_NOTICE?


Радость а E_NOTICE как связан? нет, вопрос очень прост. обработчик ошибок Yii 2 не хочет воспринимать любые переменные, если они не были заранее объявлены.

Т.е.

CODE (htmlphp):
скопировать код в буфер обмена
  1. class::some_static_method($msg);


выдаст Undefined variable: msg

Если

CODE (htmlphp):
скопировать код в буфер обмена
  1. $msg = null;
  2. class::some_static_method($msg);


-> ok

При этом перекопал уже весь php.ini ничего интересного на эту тему не нашел. Включено отображение errors, warnings, notices

Ошибка появилась после переноса сайта с удаленного на локалхост. У меня паника Однако никогда с таким не сталкивался(
 
 Top
Мелкий Супермодератор
Отправлено: 07 Марта, 2016 - 13:49:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Потому ни при чём тут как раз yii.
Если вы пытаетесь получить значение переменной, которую PHP не знает - он вам выдаст E_NOTICE.


-----
PostgreSQL DBA
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 13:55:48
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




Мелкий пишет:
Потому ни при чём тут как раз yii.
Если вы пытаетесь получить значение переменной, которую PHP не знает - он вам выдаст E_NOTICE.


Хм.. а почему за пределами yii все работает?

P.s. делать то что?

(Отредактировано автором: 07 Марта, 2016 - 13:56:23)

 
 Top
DelphinPRO
Отправлено: 07 Марта, 2016 - 14:07:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




Nesquik пишет:
Хм.. а почему за пределами yii все работает?

Что работает?
echo $undefinedVar; так же выдаст notice


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 14:14:21
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




Еще раз говорю на удаленном код работает, на локальном нет, возможно дело в каких-то настройках?
 
 Top
DelphinPRO
Отправлено: 07 Марта, 2016 - 14:20:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




Nesquik пишет:
возможно дело в каких-то настройках?

Конечно. Там просто отключен вывод ошибок уровня E_NOTICE. Но ошибки есть, и вы можете найти их в логах сервера.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 14:29:07
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




DelphinPRO пишет:
Nesquik пишет:
возможно дело в каких-то настройках?

Конечно. Там просто отключен вывод ошибок уровня E_NOTICE. Но ошибки есть, и вы можете найти их в логах сервера.


У меня и там и там стоит

CODE (htmlphp):
скопировать код в буфер обмена
  1. error_reporting(E_ERROR | E_WARNING | E_PARSE);


Однако

P.S. выставил в php.ini E_ERROR ошибка пропала, но код теперь не работает Голливудская улыбка другой локальный сервер настроен идентично - на нем все работает, странно, буду разбираться, всем спасибо!

(Отредактировано автором: 07 Марта, 2016 - 14:34:54)

 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2016 - 15:43:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Nesquik пишет:
странно, буду разбираться

По-моему вы смотрите на проблему не с той стороны. Если php выводит ошибку значит нужно найти как ее исправить, а не как скрыть. Да, в настройках php можно отключить вывод ошибок и изменить их уровень, но скрыв ошибки это не значит то они пропадут.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 16:15:56
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




Я и не пытаюсь их скрыть, я всего лишь проверил, связанно ли, как вы это говорили с E_NOTICE. Но вы сами не находите странным что один и тот же код на разных серверах работает по разному? Мне кажется я смотрю с той стороны.
 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2016 - 16:36:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




А разве он работает по разному? Всё что отличается это вывод ошибки, и в этом нет ничего странного, это заложено в конфигурацию, при одной ошибки выводятся, при другой нет. Еще могут быть мелкие нюансы из-за разных версий php


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Nesquik
Отправлено: 07 Марта, 2016 - 18:37:54
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2014  


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




А как узнать какое значение error_reporting выставленно на удаленном сервере у хостера кроме тех.поддержки?

P.s. решено! short_open_tag=On не заметил что именно в месте, где парсится assoc array короткие php тэги. оказывается совсем не в error_reporting дело было, я уже и через функцию ini_get получал integer. вообще намучалсо. как ни странно на форуме yii2 русскоязычном мне вообще ничего не намекнули Однако спасибо всем кто помогал, чтоб я без вас делал.

(Отредактировано автором: 07 Марта, 2016 - 19:14:07)

 
 Top
Bio man
Отправлено: 08 Марта, 2016 - 00:10:02
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




Nesquik пишет:
А как узнать какое значение error_reporting выставленно на удаленном сервере у хостера
error_reporting

что-то у тебя все плавает.. причем тут short_open_tag не понятно.
если запостишь блок кода, где возникает ошибка, будет проще тебе помочь.

на yii форуме тебе не помогают, так как всех уже задолбали подобные вопросы, тем более, не относящиеся к самому фреймворку.
(Добавление)
ценный совет. на локалке должны быть включены все ошибки (error_reporting(-1))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB