169 похожих чатов

Ну например, приблизительно с версии 5.5 $this->var = null;... if ($this->var

== null) ... - ничего будет иметь поведение с проверкой на нул
Но если $this->var не объявить, то:
if ($this->var == null) ... - должен выдать ошибку инициализации переменной. В 7й так точно.

Если вы пользуетесь extract или другими меторадми, например фильтрацией данных, важно знать разницу между созданной пустой переменной, и не созданной.

На пример при отстраивании структуры DataMapper'a многие, да и тоже, пользуются динамическими переменными для создания и заполнения объектов
Банальный пример PDO::FETCH_OBJ, PDO::FETCH_CLASS и так далее. У меня в таких ситуациях не просто один класс, а с 4-5 классов и с 10 трейтов, Не сложно запутаться и создать переменную после, которой сейв репазитория будет выдавать ошибку
Это же наблюдается и на других вариантах, например в 5,3 или 5.4 отказались от конструкции
$data = '';
$data['vasya'] = 'Человечище';

Я думаю со временнем будут сглаживаться углы в нестандартном поведении
Поэтому если портируют код, проверки через стд функции приоритетнее чем сравнения...
если вам так хочется сравнивать тогда проверяйте через isset
isset($var) && $var!==null

Сугубо моё мнение...
Можете выключить notice и жить спокойно, но меня лично напрягают киллометровые лог файлы... а вас?

P.S С версиями могу ошибаться...

1 ответов

2 просмотра

В случае если есть магия __get, isset не поможет, и тут как раз без разницы, is_null или ===null

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта