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


Can I tell ReflectionClass constructor to be case sensitive?

我遇到了一个非常有趣的问题。我有两个类: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());

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

致命错误:未捕获异常"PHPErrorException",消息为"异常"ReflectionException",消息为"方法检查不存在

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

类名在PHP中不区分大小写,这可以通过在命令行上执行以下命令来分散:

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