Покушение на устои

Фанат

oncle terrible
Команда форума
Вот мы сидим тут и не знаем, какие страсти бушуют в мире пхп.

А ведь покусились на самое святое - должен ли Undefined variable оставаться нотисом или превратиться в фатальную ошибку?
 

Yoskaldyr

"Спамер"
Партнер клуба
Раздел не совсем хоорший для обсуждения - исключен из отображения новых постов :)
 

fixxxer

К.О.
Партнер клуба
Catchable хотя бы? :)

Вообще, правильно было бы сделать нормальную иерархию исключений (типа как в питоне хотя бы), и какую-нибудь встроенную функцию типа set_throw_exceptions_on_errors(bool).
 

AnrDaemon

Продвинутый новичок
Да просто в конфиге сделать convert_errors = On|Off, по умолчанию Off, в восьмёрке сменить умолчание на On.
Либо дефайн, не знаю, что лучше будет.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ну как это не знаем, олично знаем и радуемся! не прошло и 10 лет, как все нормальные проекты стали считать ноутисы ворнинги одним уровнем - team php подстраивают движок
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
5ро увидели )))
это шутка - отсылка на твою тему про seo
 

Вурдалак

Продвинутый новичок
Вот мы сидим тут и не знаем, какие страсти бушуют в мире пхп.

А ведь покусились на самое святое - должен ли Undefined variable оставаться нотисом или превратиться в фатальную ошибку?
Ты о чем? Есть какая-то дискуссия открытая?

Вообще слово «Fatal» звучит странно, имеется в виду просто наследник \Error, наверное.
Хотя я почему-то вспомнил кейс про отсутствие индекса в массиве, но это можно было смягчить до \RuntimeException, например.
 

Вурдалак

Продвинутый новичок
Интересно наблюдать, что когда речь про DivisionByZeroError, то голосование очень ровно прошло, а undefined variable только warning'а добилась похоже.
И там и там про неопределенность и бессмысленность, но если речь про математику, то нужно прямо строго, сразу exception и по почкам.
А если про то, что в коде задействуется необъявленная переменная — это нормально.

Не, я ничего против DivisionByZeroError не имею, а наоборот.
Но в чем логика тех, кто хочет notice оставить?
Кто-то до сих пор считает, что PHP — это шаблонизатор?
Сейчас почти весь фронт уже почти полностью вымывается из PHP-репозиториев, и PHP становится всё более серьезным серверным языком.
Не понимаю.
 

Фанат

oncle terrible
Команда форума
Но вообще да, так задвинул тему, что сам же ответов не вижу. Переместил
 

fixxxer

К.О.
Партнер клуба
Но в чем логика тех, кто хочет notice оставить?
Мне, если честно, не приходит в голову ни один случай, когда вообще уместно выделять notice как "что-то, что можно проигнорировать".
Сто лет все заворачиваю в исключения, и ни разу не было случая, когда это бы оказалось неуместно.
 

Adelf

Administrator
Команда форума
Мне, если честно, не приходит в голову ни один случай, когда вообще уместно выделять notice как "что-то, что можно проигнорировать".
Сто лет все заворачиваю в исключения, и ни разу не было случая, когда это бы оказалось неуместно.
Я в своем жутком легаси проекте постоянно вижу юзание необьявленных переменных. В основном - жертвы копипаста... Шторм, который их красным подсвечивает, используют всего 3 из 30 разработчиков в команде... остальные просто не видят ничего )
Ах да. В самописном ОРМ, которое там юзается... если поля в таблице нет и если его попросить, то просто вернет нулл :) безо всяких ошибок.
Идеология еще с HTML осталась - чето не так? Попробуем! Вдруг пронесет :)

И вот для таких проектов все эти новые инициативы - "ни к чему это все! либералы понапридумают!"
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
можно продолжать не видеть, проблема обходится уже привычным strict mode - в моем коде у меня он во всех классах, в легаси его нет
 
Сверху