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

Php 我可以告诉ReflectionClass构造函数区分大小写吗?,php,reflection,Php,Reflection,我遇到了一个非常有趣的问题。我有两门课:APISession和APISession。我还有一个API类,它有一个方法,如下所示: public static function request($category, $name, $params) { $params["Response"] = new APIResponse(); $class = new ReflectionClass("API".$category); return $class->getMeth

我遇到了一个非常有趣的问题。我有两门课:
APISession
APISession
。我还有一个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”“与消息”“方法检查不匹配” 存在'


我已经检查了问题的根源,它是由
请求
到达
ApiSession
而不是
ApiSession
引起的,尽管传递给它的字符串是
“ApiSession”
。我的问题是:是否可以告诉
ReflectionClass
构造函数区分大小写?

在PHP中,类名不区分大小写,可以通过在命令行上执行此命令来取消对它的关注:

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

即使大小写不同,也不可能用相同的名称声明类。因此,无论哪种方式,只加载一个类,它是哪一个取决于类自动加载程序。这是一个不幸的消息。我相信我们应该能够创建一个类FooBar和另一个类FooBar。然而,如果是这样的话,你可以向我展示一些可靠的消息来源,说明这一点,那么我将不得不接受这一事实。我肯定在某个地方提到过,但更快的是尝试:
php-r'class APISession{}class APISession{}
谢谢,马瑞克,你已经说服了我。你能写一个答案让我表达我的感激之情吗?很好,马雷克,谢谢,希望其他人将来会看到你简短而有用的答案。