如何在函数调用中将对象作为参数发送?我不想在传递对象时实例化它,所以myFunction( new myObject() )
不会工作。
我希望myFunction
以后能够实例化该对象。我只是不确定如何以这种方式传递课程。
将类名作为字符串传递,并实例化它。
https://stackoverflow.com/a/4578343/362536
function ($className) {
$object = new $className();
}
您可以传递一个字符串并执行以下操作:
myFunction($class) {
$object = new $class();
}
但更好的 OOP 方法是传递一个工厂对象并让工厂创建对象:
class MyFactory {
public function create() {
return new myObject;
}
}
myFunction(MyFactory $factory) {
$object = $factory->create();
}