与流行的看法相反,PHP 中的函数名不区分大小写,对于类构造函数也是如此。你case
应该已经工作了。尝试这个
<?php
class TestClass {
var $testValue;
}
$a=new testclass();
$b=new TestClass();
$c=new TESTCLASS();
print_r($a);
print_r($b);
print_r($c);
?>
根据PHP 手册
注意:函数名称不区分大小写,尽管在函数声明中出现时调用函数通常是一种很好的形式。
这也适用于您的类方法。
解决方法/命名这些类的更好方法
以下内容将确保类名始终与您定义的完全相同,无论是哪个case
用户输入的
<?php
class TestClass {
var $testValue;
}
$userEnteredValue="testCLASS";
$myClasses=get_declared_classes();
$classNameIndex=array_search(strtolower($userEnteredValue), array_map('strtolower', $myClasses));
if($classNameIndex!==FALSE)
{
$classNameShouldBe=$myClasses[$classNameIndex];
echo $classNameShouldBe;
}
else
{
echo "This class is undefined";
}
?>