raphhh/trex-parser

一个用于解析代码并提取语句的PHP工具

1.1.0 2015-12-28 13:15 UTC

This package is auto-updated.

Last update: 2024-08-25 22:21:09 UTC


README

Latest Stable Version Build Status Scrutinizer Quality Score Code Coverage SensioLabsInsight Dependency Status Total Downloads Reference Status License

PHP工具,用于解析代码并提取语句。

安装

$ composer require raphhh/trex-parser

用法

ClassAnalyzer

首先,给出要分析的PHP代码

$code = 'class Foo{}';

$analyzer = new ClassAnalyzer();
$classReflections = $analyzer->getClassReflections($code);

您也可以给出一个文件路径给分析器

$filePath = 'MyClass.php';

$analyzer = new ClassAnalyzer();
$classReflections = $analyzer->getClassReflectionsFromFile($filePath);

$classReflections 是一个包含 ReflectionClass 的数组。

$objects = [];
foreach($classReflections as $className => $classReflection){
    $objects[$className] = $classReflection->newInstance();
}        

类名

检索基本名称

$className = new ClassName('\Foo\Qux\Bar');
$className->getBaseName(); //"Bar"

检索命名空间

$className = new ClassName('\Foo\Qux\Bar');
$className->getNamespace(); //"Foo\Qux"

分割

$className = new ClassName('\Foo\Qux\Bar');
$className->split(); //["Foo", "Qux", "Bar"]