Jednym z ograniczeń PHP jest to, że obiekty zawsze oceniają na true
. Jednak SplFileinfo
(i podklasy, takich jak Symfony na UploadedFile
) zachowują się inaczej:Dlaczego nie można przekonwertować SplFileInfo na wartość boolean?
$a = new ArrayIterator(); // or any other class
$b = new SplFileInfo(__FILE__); // file used is not important
if ($a) echo 'true'; // 'true'
if (!$a) echo 'false'; // nothing because $a is true
if ($b) echo 'true'; // 'true'
if (!$b) echo 'false'; // Catchable fatal error: Object of class
// SplFileInfo could not be converted to boolean
Czy to błąd? Testowane w ppkt 5.3 i 5.4. Zdarza się też z SplFileObject
. Możliwe related question. I a Symfony issue od 2011.
A ktoś inny myśli, że to funkcja ;-) – Tamlyn