通常,我必须这样做:
$str = "classname"; //classname is the name of a class
switch($str)
{
case "class1":
class1::run(); break;
case "class2":
class2::run(); break;
case "class3":
class3::run(); break;
case "class4":
class4::run(); break;
case "classname":
classname::run(); break;
default:
die("Fatal error: no such class");
}
//in my case, there are hundreds of cases and more being added
有没有办法简化这一点,也许是一行?妄想?
$str::run()
当然,我有责任确保 $str 实际上是一个对象的名称。但是管理它比管理像上面这样的庞大列表要容易得多。
这可能吗?