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