@sprashivatel

Какой подход правильный: if ($var) или if ($var instanceof Class)?

Наблюдаю часто записи с использованием instanceof?

$unit = Units::findOneByColumn('user_lvl', $user->lvl);
// Мне нужно проверить отработала ли выборка
if ($unit instanceof Units) // Ok
if ($unit) // Ok
if (is_object($unit)) // Ok
if (is_a($unit, 'Units')) // Ok

Это просто для крутизны или какой-то глубочайший смысл кроется в том, как проверить?
Как проверять грамотно?
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
@FanatPHP
Ну неужели так сложно пошевелить мозгами и ответить на этот вопрос самостоятельно?

if ($unit) проверяет, вернула ли функция хоть что-нибудь.
if ($unit instanceof Units) првоеряет является ли инстансом класса Units

Какой подход правильный - зависит от содержимого функции findOneByColumn(). Есть гении, у которых функция возвращает сообщение об ошибке в случае ошибки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы