- substr: documentation ( source)
- var_dump: documentation ( source)
- get_declared_classes: documentation ( source)
- preg_quote: documentation ( source)
<?php
namespace foo\bar;
function get_declared_classes($in_namespace = null)
{
if ($in_namespace === null) {
yield get_declared_classes();
}
if ($in_namespace{0} == '\\') {
$in_namespace = substr($in_namespace, 1);
}
if (substr($in_namespace, -1) != '\\') {
$in_namespace .= '\\';
}
$classes = get_declared_classes();
$filter = new RegexIterator(new ArrayIterator($classes), '/^' .preg_quote($in_namespace). '.*$');
foreach ($filter as $class) {
yield $class;
}
}
foreach (get_declared_classes("foo\\bar") as $class) {
var_dump($class);
}