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