我编写了一个api生成器,需要通过定义的类读取所有带有ist参数的方法。阅读所有方法完成!
示例类:
class Foo {
function tester($test)
{
return "bar";
}
function test(Article $article)
{
return "bar";
}
}
get_class_methods = array('tester', 'test');
好的,现在我必须知道每个功能的参数,我该如何解决这个问题?
重要的是TypeHinting。
由于
答案 0 :(得分:1)
我不知道是否有任何方法可以做到这一点,但你可以使用php lexical analyzer。
您可以使用token_get_all
阅读该文件(请参阅http://us.php.net/manual/en/function.token-get-all.php)。
然后自己解析它以获取所有类,方法,参数,甚至根据需要解析注释!
答案 1 :(得分:1)
好的,现在我必须知道每个功能的参数,我该如何解决这个问题?
使用reflection API。构建一个新的ReflectionClass('Foo'),获取方法测试,你可以通过getParameters()获取它的参数。祝你好运!
答案 2 :(得分:0)
您可以使用Zend_Reflection执行此操作,Zend_Reflection是PHP反射类的扩展。
http://framework.zend.com/manual/en/zend.reflection.html
当你有一个Zend_Reflection_Parameter对象时,你可以通过getType我得到你的类型提示值。