3 回答
TA贡献1796条经验 获得超4个赞
是的你可以!
$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.
TA贡献1846条经验 获得超7个赞
您可以简单地使用以下语法来创建新类(如果要创建factory,这将很方便):
$className = $whatever;
$object = new $className;
作为(异常粗糙的)示例工厂方法:
public function &factory($className) {
require_once($className . '.php');
if(class_exists($className)) return new $className;
die('Cannot create new "' . $className . '" class - includes not found or class unavailable.');
}
- 3 回答
- 0 关注
- 305 浏览
添加回答
举报