我可以告诉ReflectionClass构造函数区分大小写吗?

时间:2015-02-27 15:17:40

标签: php reflection

我遇到了一个非常有趣的问题。我有两个班级:APISessionApiSession。我也有一个API类,它有一个方法,如下所示:

public static function request($category, $name, $params) {
    $params["Response"] = new APIResponse();
    $class = new ReflectionClass("API".$category);
    return $class->getMethod($name)->invoke(null, $params);
}

我正在调用方法:

$result = API::request("Session", "Check", array());

当然,我希望这会执行Check类的APISession方法,但是,我收到以下问题:

  

致命错误:未捕获的异常' PHPErrorException'与消息   '异常' ReflectionException'有消息'方法检查没有   存在'

我检查了问题的根源,这是因为request到达ApiSession而不是APISession,尽管传递给它的字符串是"APISession"。我的问题是:是否可以告诉ReflectionClass构造函数区分大小写?

1 个答案:

答案 0 :(得分:2)

类名在PHP中不区分大小写,可以通过在命令行上执行此操作来演示:

php -r 'class APISession { } class ApiSession { }'