Я пытаюсь перебрать все загруженные классы, которые расширяют определенный класс. Но is_subclass_of
выдает ошибку «Класс не найден», если причиной является расширенный класс, который не был загружен автоматически - и я не могу его перехватить.
$allClasses = 'vendor/composer/autoload_classmap.php';
$classes=[];
foreach ($allClasses as $name => $file){
try {
if (is_subclass_of($name,'mynamespace\\project\\src\\models\\BaseWintypeModel'))
{
$classes[] = $name;
}
}
catch(\Throwable $e)
{
echo "caught exception";
}
}
Ошибка, например,
PHP Fatal Error – yii\base\ErrorException
Class 'Illuminate\Support\ServiceProvider' not found
1. in /www/fresh/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php
, потому что
class ServiceProvider extends \Illuminate\Support\ServiceProvider