首页 >后端开发 >php教程 >如何在 PHP 中从变量实例化类?

如何在 PHP 中从变量实例化类?

Barbara Streisand
Barbara Streisand原创
2024-11-17 16:17:01525浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn