在PHP 中透過動態變數實例化類別
從變數名稱動態實例化類別在PHP 中是一項很有價值的技術。考慮以下情境:
$var = 'bar'; $bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');
如何在不訴諸備受爭議的 eval() 函數的情況下實現這一目標,而您寧願避免使用該函數?
變數賦值與實例化
解決方案在於建立一個保存類別名稱的變量,然後使用$ 變數運算子實例化該類別:
$classname = $var . 'Class'; $bar = new $classname("xyz");
這種技術可讓您動態實例化類別基於變數值,這在工廠模式等模式中非常有用。
更多注意事項
要深入研究此主題,請參閱有關命名空間和的 PHP 文件動態語言功能,提供更多上下文和範例。
以上是如何在 PHP 中動態實例化類別而不使用 eval()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!