Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

if ($obj) { }, но есть одно исключение — объекты расширения SimpleXML, оно документировано как When converting to boolean, the following values are considered FALSE:
…
SimpleXML objects created from empty tags
$xml = simplexml_load_string('<ROOT><LIST><ITEM></ITEM><ITEM>0</ITEM><ITEM>1</ITEM><ITEM><SUB_ITEM></SUB_ITEM></ITEM></LIST></ROOT>');
foreach ($xml->LIST->ITEM as $item) {
var_dump((boolean)$item);
}
можете навскидку сказать?$xml = simplexml_load_string(<<<EOT
<ROOT>
<LIST>
<ITEM></ITEM>
<ITEM>0</ITEM>
<ITEM>1</ITEM>
<ITEM>
<SUB_ITEM></SUB_ITEM>
</ITEM>
</LIST>
</ROOT>
EOT;
);
foreach ($xml->LIST->ITEM as $item) {
var_dump((boolean)$item);
}
return $obj? Пускай даже return (boolean)$obj? Ну и сложно в голове укладывается название метода, говорящее «возвращает true для объектов всех классов, кроме SimpleXML, которые возвращает true только если элемент содержит вложенные теги».каждый раз, печатая коммент, думали что это не правильно.
Дело в том что не только дядя Боб не даст советов как решать реальные проблемы, но и вообще никто не даст.
this page intentionally left blank
В чем разница с точки зрения тестирования между статическим методом с четырьмя аргументами и экземплярного метода объекта с четырьмя полями? Количество граничных условий в обоих случаях одно и тоже
О книге Боба Мартина «Чистый код»