global $a;
echo $a;
И можно ли это использовать, так если не строить доп защиту на случай если переменная в результате выполнения скрипта не будет определена.
Спустя 51 минута, 32 секунды (6.11.2011 - 00:39) sergeiss написал(а):
А какой уровень вывода ошибок у тебя установлен? Установи функцией error_reporting() вывод всех ошибок. Что тогда скажет ПХП?
Спустя 1 час, 42 минуты, 12 секунд (6.11.2011 - 02:21) caballero написал(а):
Цитата |
Почему при объявлении переменной глобальной, которая ранее не была инициализированна, и последующей попытки вывести ее нет ошибки |
потому что здесь нет ошибки и какая переменная не важно.
максимум что можно получить - это предупреждение от PHP что используется неинициализированная переменная
Спустя 55 минут, 20 секунд (6.11.2011 - 03:16) Krevedko написал(а):
да даже просто echo $a; выведет не ошибку, а нотис (замечание, предупреждение) и не прервет работу скрипта, а при определенном уровне выставленном уровне ошибок даже не выведет ничего.
Спустя 2 минуты, 17 секунд (6.11.2011 - 03:18) Zerstoren написал(а):
Цитата (Krevedko @ 6.11.2011 - 00:16) |
да даже просто echo $a; выведет не ошибку, а нотис (замечание, предупреждение) и не прервет работу скрипта, а при определенном уровне выставленном уровне ошибок даже не выведет ничего. |
Все равно, на сайте не должно быть не одного нотис сообщения.
Лично моя позиция.
А то если есть нотис и ты придерживался идеологии первой строки этого сообщения, то значит в коде есть ошибка, а значит ее легко будет устранить т.к. она уже локализована)
Спустя 6 часов, 41 минута, 38 секунд (6.11.2011 - 10:00) sergeiss написал(а):
Цитата (Zerstoren @ 6.11.2011 - 04:18) |
Все равно, на сайте не должно быть не одного нотис сообщения. Лично моя позиция. |
Согласен. Это и моя позиция
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 час, 39 минут, 33 секунды (6.11.2011 - 11:40) twin написал(а):
Никакого нотиса не будет. Ибо переменная объявлена. Она объявлена глобальной, и хоть и не инициализирована явно, но память под неё выделена. Точно так же, как
А значит никаких нотисов.
Использовать эту фичу не стоит, это вредит прозрачности.
public $a;в классе.
А значит никаких нотисов.
Использовать эту фичу не стоит, это вредит прозрачности.
Спустя 1 день, 9 часов, 15 минут, 44 секунды (7.11.2011 - 20:55) Xes написал(а):
Ну как бы так было error_reporting(E_ALL);
twin, все разрулил.
twin, все разрулил.
Спустя 2 месяца, 9 дней, 23 часа, 58 минут, 13 секунд (17.01.2012 - 20:54) Xes написал(а):
Цитата |
Использовать эту фичу не стоит, это вредит прозрачности. |
Хочется возрадить вопрос, с примером.
function GetWeatherInCity($cityen = null, $numday = 3){
if(!$cityen){
global $cityen;
}
$cityen = $cityen ? $cityen : null; (****)
Нужна ли тут строчка (****) или или можно ее неписать?
Ошибки вообщемто не будет, влюбом случае. Чисто для себя чтоль оставлять ее twin имел ввиду чтобы видеть проверку?
Но тогда наверное лучше так записать
$cityen = !empty($cityen) ? $cityen : null;
Спустя 12 минут, 12 секунд (17.01.2012 - 21:06) nugle написал(а):
я думаю так лучше
$cityen = !empty($cityen) ? $cityen : null;