如何在 PHP 中動態實例化類別而不使用 eval()?

Linda Hamilton
發布: 2024-11-20 12:42:11
原創
943 人瀏覽過

How to Dynamically Instantiate Classes in PHP without Using eval()?

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板