Reflection在操作OOP方面是一件很棒的事情,看起来大多数开发人员甚至都没有意识到这一点,或者从未使用过它。
反射API声明:
PHP 5附带了一个完整的反射API,它增加了反向工程类、接口、函数、方法和扩展的能力。此外,反射API还提供了检索函数、类和方法的文档注释的方法。
问题:
该函数目前没有文档化;只有它的参数列表可用。
哪里可以找到它的文件呢?
发布于 2010-03-04 07:43:49
倒影肯定会留在这里。您可能会使用它,但是请记住,对于简单的UseCases来说,它是缓慢的和过度的。在类/对象函数包中使用其中一个函数通常是更快的选择。
当解析类的UseCase中的注释时,反射就会派上用场。例如,PHPUnit使用注释@test来告诉PHPUnit TestRunner,它应该将一个方法看作一个测试。@covers注释将帮助它收集代码覆盖数据。FLOW3框架使用对其AOP框架的注释。
不幸的是,PHP > 5.3中的一些较新的添加还没有记录那么多。只要看看SPL。同样的事情。但这并不意味着你不能使用它。反射API非常有表现力,很容易从方法名称中识别出来。谷歌经常有关于如何使用某些扩展的博客文章。对于反射API,请查看:
以及SPL
我最近发现的很酷的东西。从5.1.2开始,您也可以使用从命令行调用反射API:
$php --rf strtotime
Function [ <internal:date> function strtotime ] {
- Parameters [2] {
Parameter #0 [ <required> $time ]
Parameter #1 [ <optional> $now ]
}
}https://stackoverflow.com/questions/2377464
复制相似问题