我們可以動態地在PHP中創建和初始化一個對象嗎? 這是正常的代碼:如何在PHP中動態實例化一個對象?
class MyClass{
var $var1 = null;
var $var2 = null;
.
.
public function __construct($args){
foreach($args as $key => $value)
$this->$key = $value;
}
}
---------------------
$args = ($_SERVER['REQUEST_METHOD'] == "POST") ? $_POST : $_REQUEST;
$obj = new MyClass($args);
上面的代碼工作正常。請注意,REQUEST參數的名稱與類別MyClass的成員精確映射。
但我們可以做這樣的事情:
$class = "MyClass";
$obj = new $class;
如果我們能做到這樣,那麼我們可以通過使用的$ args初始化$ OBJ。
根據this post,$ obj = $ class應該有效。但它不適合我。我試過get_class_vars($ obj)。它拋出了一個例外。
感謝
什麼是您的問題?請發佈不適合你的代碼。 – hakre
可能相關:[PDO :: FETCH_CLASS與多個類](http://stackoverflow.com/q/7741590/367456) – hakre
@hakre:對不起,MySQLi的決定已被採納。不能使用PDO。 –