用字符串创建PHP类实例
我有两个课,class ClassOne { }
和class ClassTwo {}
。我得到的字符串可以是"One"
或"Two"
。
而不是使用长switch
语句,例如:
switch ($str) { case "One":
return new ClassOne();
case "Two":
return new ClassTwo();
}
有没有一种方法可以使用字符串创建实例,即new Class("Class" . $str);
?
回答:
是的你可以!
$str = 'One';$class = 'Class'.$str;
$object = new $class();
使用名称空间时,请提供标准名称:
$class = '\Foo\Bar\MyClass'; $instance = new $class();
您可以在php中执行的其他一些很酷的工作是:
$personCount = 123;$varname = 'personCount';
echo $$varname; // echo's 123
以及可变的函数和方法。
$func = 'my_function';$func('param1'); // calls my_function('param1');
$method = 'doStuff';
$object = new MyClass();
$object->$method(); // calls the MyClass->doStuff() method.
以上是 用字符串创建PHP类实例 的全部内容, 来源链接: utcz.com/qa/410119.html