Documentation is a bit misleading.
SplFileInfo->isFile() and other classes (e.g. DirectoryIterator->isFile()) return TRUE for symlinks of files. Better use getType() method instead, which returns 'link' for symlinks.
This was reported long time ago - https://bugs.php.net/bug.php?id=72364 , but docs are still not fixed.