【问题标题】:Get method number of parameters in php获取php中参数的方法数
【发布时间】:2013-07-19 07:16:25
【问题描述】:

我有返回JSON-RPC 的服务描述对象的代码,然后我有类似的问题:PHP: Get number of parameters a function requires 但我有一个方法而不是函数。

function service_description($object) {
    $class = get_class($object);
    $methods = get_class_methods($class);
    $service = array("sdversion" => "1.0",
                     "name" => "DemoService",
                     "address" => $_SERVER['PHP_SELF'],
                     "id" => "urn:md5:" . md5($_SERVER['PHP_SELF']));
    foreach ($methods as $method) {
        $service['procs'][] = array(
            "name" => $method,
            "params" => ?????
        );
    }
    return $service;
}

如何查看每个方法的参数?

【问题讨论】:

    标签: php reflection methods


    【解决方案1】:

    我发现,这个ReflectionMethod 有课程。

    foreach ($methods as $method_name) {
        $proc = array("name" => $method_name);
        $method = new ReflectionMethod($class, $method_name);
        $params = array();
        foreach ($method->getParameters() as $param) {
            $params[] = $param->name;
        }
        $proc['params'] = $params;
    }
    

    【讨论】:

      【解决方案2】:

      您仍然可以使用反射类。

      $rclass = new ReflectionClass('ClassName');
      $method = $rclass->getMethod('methodName');
      $method->getNumberOfRequiredParameters;
      

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 2015-12-10
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        • 2010-12-23
        • 1970-01-01
        相关资源
        最近更新 更多