文件名称:php-static-reflection:静态反射API
文件大小:38KB
文件格式:ZIP
更新时间:2024-06-06 09:54:36
PHP
PHP的静态反射 反射API的实现,用于解析PHP源文件。 这允许反射而无需加载类。 由于PHP无法卸载类,因此当您需要检查类但无需加载类(例如提取元数据)时,这对于减少内存占用非常有用。 以下是在drupal 8测试类上将“反射”与“静态反射”进行比较的基准: 公制 反射 静态反射 CPU时间 0.38秒 3.92秒 峰值记忆 46兆 9.2兆 函数调用 62,595 794,726 解决常量,属性和方法需要查看父类,使用的特征和已实现的接口。 此解析根据需要完成(即,延迟加载),因此默认情况下将缓存反射对象。 因此,有可能通过从缓存中卸载反射对象来进一步减少内存使用,这些反射对象在处理完另一个类后将不会被使用,而不会影响性能。 例如,在上述基准测试中,从测试类中提取信息后,可以将其卸载。 StaticReflection并没有实现所有的Reflection API,但是其目的
【文件预览】:
php-static-reflection-master
----src()
--------StaticReflectionFunctionTrait.php(6KB)
--------StaticReflectionMethod.php(11KB)
--------Psr0Finder.php(565B)
--------ParserException.php(464B)
--------ScalarExpression.php(2KB)
--------HaltCompilerException.php(87B)
--------StaticReflectionFactory.php(3KB)
--------StaticReflectionClass.php(31KB)
--------ComposerFinder.php(592B)
--------StaticReflectionFunction.php(4KB)
--------Parser.php(42KB)
--------CompileError.php(122B)
--------ClassFinderInterface.php(408B)
--------StaticReflectionProperty.php(7KB)
--------StaticReflectionParameter.php(7KB)
----phpunit.xml.dist(426B)
----LICENSE(7KB)
----composer.lock(29KB)
----README.md(1KB)
----tests()
--------StaticReflectionTest.php(10KB)
--------ParserTest.php(10KB)
--------Example()
----composer.json(482B)