從變數動態實例化 PHP 類別
在 PHP 中,可以使用包含類別的字串變數動態實例化類別姓名。這可以透過先將類別名稱分配給新變量,然後使用美元符號 ($) 運算子實例化該類別來實現。
範例:
$var = 'bar'; $classname = $var . 'Class'; $bar = new $classname('argument for constructor');
這將會建立 barClass類別的新實例,並將參數「建構函數的參數」傳遞給其
使用工廠模式:
此技術通常在工廠模式的上下文中使用,其中工廠類別負責建立和傳回基於給定參數的不同類別。例如:
class ClassFactory { public static function create($className, $args = []) { $instance = new $className(...$args); return $instance; } }
此工廠類別可以如下使用:
$instance = ClassFactory::create('barClass', ['argument for constructor']);
附加說明:
使用此技術時,請確保正確清理包含類別名稱的變數以防止任意類別實例化非常重要。這可以使用 preg_replace() 等函數來驗證類別名稱來實現。
以上是如何從變數動態實例化 PHP 類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!