Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
catch(Exception $e)
{
return false; // !
}
Потратив несколько часов на вставку var_dump-ов и отслеживания путей выполнения, я произвёл изучение следующих мест:
while(($row=$dataReader->read())!==false)
while($row=$dataReader->read())
while(($row=$dataReader->read())!==false)
...
while($dataReader->hasData()){
$row=$dataReader->read();
...
}
while($dataReader->hasData() && $row=$dataReader->read();)
...
Допустим есть координатный отрезок [-64,64] и точка, которая не принадлежит этому отрезку (и даже прямой, на которой лежит этот отрезок). Что должна вернуть функция getPoint(), в таком случае?
Если я хочу найти вхождение подстроки в строку(в php считай strpos), я ожидаю, что мне вернется null,nil или -1
while(($row=$dataReader->read())!==null)
while(($row=$dataReader->read())!==nil)
while(($row=$dataReader->read())!==-1)
Взять хотя бы erlang, которые в некоторых случаях возвращает false в аналогичных ситуациях.
и тем не менее это очень похоже именно на то о чём идёт речь.
Функция, возвращающая, скажем, количество записей в таблице БД, да вообще количество чего-то. 0 означает, что записей нет или, а false — ошибку при попытке получения количества.
Есть и другие способы (пользовательские ошибки, исключения, возврат данных определенного типа, много что можно придумать), но false один из самых простых, немногословных и, главное, привычных php-разработчику.
Как я знакомился с Yii