|
|
|
|
|
для: lElectroHardl
(16.03.2012 в 13:50)
| | Все гуд.
Я Вася :). Я погашение Нотайсов поставил, после Инклуда файла ЧПУ, который и давал ошибки :).
Все. Вопрос решен. Взял во внимания фразы "ЮЛЯ, парень, не гони, это опасно!" и "Инициализируй их сейчайже, наъ!". | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.03.2012 в 16:34)
| | Вы не знаете логики моих приложений. Да, согласен, это опасно. но если КАЖДАЯ переменная в скрипте проходит пред. обработку, то думаю, дыры быть не должно :). | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.03.2012 в 21:02)
| | Даже ниже, на уровне движка Zend, на котором построено ядро. | |
|
|
|
|
|
|
|
для: cheops
(17.03.2012 в 20:41)
| | как я понял это надо решать на уровне ядра? | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.03.2012 в 20:00)
| | E_NOTICE генерируется не только при подозрении на неинициализированную переменную а еще при довольно большом количестве различных ситуаций. Просто степень ошибки упаковали в 32-битное значение и разбить его на более мелкие уровни уже не представляется возможным, вернее еще можно дробить, но только уровень, а ситуация описывается текстовой форматной строкой - нет идентификатора ошибки, как это принято в других средах/языках, поэтому и управлять конкретной ошибкой нельзя, только классом.
PS Залез в исходные коды и специально проверил (чтобы ничего не напутать) - это происки Zend-овского движка. | |
|
|
|
|
|
|
|
для: cheops
(17.03.2012 в 19:49)
| | ну а каким образом можно разбить этот уровень на более мелкие? | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.03.2012 в 19:44)
| | >но инициализировать то всё равно надо...
Надо, особенно в крупных проектах. | |
|
|
|
|
|
|
|
для: cheops
(17.03.2012 в 17:31)
| | с register_globals понятно, но не надо об этом забывать..
но инициализировать то всё равно надо...
Нужно дробить этот уровень ошибок на еще более мелкий и позволять выборочно включать/отключать конкретные типы Notice-замечаний
каким образом это можно сделать? | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.03.2012 в 16:34)
| | 1. register_globals можно не принимать во внимание, ей уже много лет не пользуются.
2. Проблема использования переменных с одними и теми же названиями остается независимо от того инициализированы они или нет. Notice этого типа скорее отлавливает ошибки связанные с опечатками в именах переменных - тут они да здорово работают.
Однако, проблема остается, PHP традиционно силен именно неявным объявлением переменных, многие приемы основаны на этом. Поэтому будет оставаться целый класс разработчиков отключающих Notice ради этой возможности. Нужно дробить этот уровень ошибок на еще более мелкий и позволять выборочно включать/отключать конкретные типы Notice-замечаний. Так поступают во всех остальных языках, очень часто глушат конкретные даже не замечания, а предупреждения. | |
|
|
|
|
|