如何获取php方法所需的参数?

时间:2011-09-13 07:09:25

标签: php

我编写了一个api生成器,需要通过定义的类读取所有带有ist参数的方法。阅读所有方法完成!

示例类:

class Foo {

    function tester($test)
    {
     return "bar";
    }

    function test(Article $article)
    {
     return "bar";
    } 

}

get_class_methods = array('tester', 'test');
好的,现在我必须知道每个功能的参数,我该如何解决这个问题?

重要的是TypeHinting。

由于

3 个答案:

答案 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我得到你的类型提示值。