- var_dump: documentation ( source)
- get_declared_classes: documentation ( source)
- array_filter: documentation ( source)
- set_error_handler: documentation ( source)
<?php
set_error_handler(function ($errno, $errstr) { global $errored; $errored = TRUE; return TRUE; });
$errored = FALSE;
var_dump(
array_filter(
get_declared_classes(),
function ($className) use (&$errored) {
$errored = FALSE;
if (!(new ReflectionClass($className))->hasMethod('__toString') && $className !== "Closure" && $className !== "SQLite3Stmt") {
try {
$x = new $className;
$x = (string)$x;
return $errored;
} catch (Exception $e) {
return FALSE;
}
}
return FALSE;
}
)
);