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