如何在 PHP 中從變數實例化類別?

Barbara Streisand
發布: 2024-11-17 16:17:01
原創
435 人瀏覽過

How Can I Instantiate a Class from a Variable in PHP?

在 PHP 中從變數實作類別實例化

在 PHP 中,您可能會遇到需要從變數的值實例化類別的場景。讓我們用一個例子來說明這一點:

$var = 'bar';
$bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');
登入後複製

此方法嘗試建立 $var 變數指定的類別的實例。然而,PHP 本身並不支援這種語法。

不使用eval() 的替代方法

要在不使用eval() 的情況下實現此目的,您可以使用變數來保存類別名稱:

$classname = $var . 'Class'; // e.g. $classname = 'barClass'

$bar = new $classname('var for __construct()');
登入後複製

工廠模式

工廠模式中經常採用這種技術,用於集中類別創建並將其與創建過程解耦。在這種情況下,工廠類別將根據配置或其他參數動態建立所需的類別實例。

更多資源

有關動態語言功能和命名空間的更多信息,請參閱以下資源:

  • [命名空間](https:// www.php.net/manual/en/language.namespaces.php)
  • [動態語言功能](https://www .php.net/manual/en/language.types.dynamic.php)

以上是如何在 PHP 中從變數實例化類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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