用字符串创建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

回到顶部