Usage:
extract the FQN e.g. "Some\Namespace\SomeClassName"
$fullyQualifiedClassName = (new PhpAnalyzer($fileContents))->extractFullyQualifiedClassName();
extract the namespace "Some\Namespace"
$namespace = (new PhpAnalyzer($fileContents))->extractNamespace();
extract just the class name "SomeClassName"
$className = (new PhpAnalyzer($fileContents))->extractClassName();
/** * @param string $phpCode * @param string $namespace * @param string $className * @param string $fqn * @test * @dataProvider sampleClasses */ public function extractFullyQualifiedClassNameTests($phpCode, $namespace, $className, $fqn) { $phpAnalyzer = new PhpAnalyzer($phpCode); $this->assertSame($fqn, $phpAnalyzer->extractFullyQualifiedClassName()); }