在Javascript中,我可以动态地引用和使用构造函数:
function Circle() {
}
function Squere() {
}
var constructor = null;
constructor = Circle;
var shape1 = new constructor();
console.log(shape1 instanceof Circle); // output: true
constructor = Squere;
var shape2 = new constructor();
console.log(shape2 instanceof Squere); // output: true
有可能,我怎么能在PHP中做同样的事情?如何在php中获取类声明并动态引用和使用它,以便调用代码不知道/关心它创建的是什么?
答案 0 :(得分:2)
在PHP中,您无法传递类(或其构造函数)本身,但其名称为:
class Circle { /* ... */ }
class Square { /* ... */ }
$classname = 'Circle';
$shape1 = new $classname();
// $shape1 is now a Circle