首页 > 解决方案 > 为什么我不能在 __construct() 中设置类数组属性?

问题描述

运行此示例时,我得到“未定义的变量:cfg in{...}”如果我取出 $this->cfg 并仅用 $cfg 替换它,这部分工作。设置一个数组的 php 类属性时,有什么特别需要做的吗?数组中的每个元素都需要单独设置,还是可以以与此类似的方式设置?

class DBHandler
{
    private $cfg;
    private String $dbName;

    public function __construct()
    {
        $this->cfg = parse_ini_file("../config.ini");
        $this->dbName = $cfg["database"];
    }
}

标签: php

解决方案


感谢@apokryfos 他在上面的评论中回答了这个问题。您可以在 php 的构造函数中设置类数组属性,但随后我试图从类的数组中取出一个元素,而不在下一行使用 $this->cfg,这把它搞砸了。


推荐阅读