This library extracts entity names from php files.
Supports plain classes, multiple entity per file, classes within curly namespaces, etc.
composer install alex-oleshkevich/classnames
$extractor = new \ClassNames\ClassNames;
$classes = $extractor->getClassNames('/path/to/file.php');
// or
$interfaces = $extractor->getInterfaceNames('/path/to/file.php');
// or
$traits = $extractor->getTraitNames('/path/to/file.php');
All functions listed above return a plain array of found entities.
// file "/path/to/file.php"
namespace TestAsset {
class Asset {}
class Asset2 {}
}
$extractor = new \ClassNames\ClassNames;
$classes = $extractor->getClassNames('/path/to/file.php');
print_r($classes);
/**
* Array
* (
* [0] => TestAsset\Asset
* [1] => TestAsset\Asset2
* )
*/