Php在不实话化类的情况下,获取类的所有方法和形参

/**
 * 获取一个类的某个方法的形参名称
 * @param $className
 * @param $methodName
 * @return false|array
 */
function getMethodArgs($className, $methodName){
    try {
        $ref = new ReflectionMethod($className, $methodName);
    } catch (ReflectionException $e) {
        return false;
    }
    $paramsName = [];
    foreach ($ref->getParameters() as $param) {
        $paramsName[] = $param->name;
    }
    return $paramsName;
}

/**
 * 获取类的方法和形参名称
 * @param $className
 * @return array
 */
function getClassInfo($className){
    $results =[];
    $methods = get_class_methods($className);
    if(!empty($methods)){
        foreach ($methods as $method){
            $results[$method] = getMethodArgs($className,$method);
        }
    }
    return $results;
}
This entry was posted in php and tagged . Bookmark the permalink.

发表回复