使用外部变量在PHP类中声明受保护的变量

时间:2016-09-09 16:42:26

标签: php ini

我正在使用adLDAP插件(不太相关),并且有一个标准的PHP类。在这个课程中,有2个受保护的变量(管理员用户和管理员密码)。

我需要用.ini文件中的数据声明这两个变量,我用parse_ini_file加载。我该怎么做呢?我无法让它发挥作用。例如:

$ini_array = parse_ini_file("somefile");
// username comes like $ini_array["php_value ad.username"]
class someClass {
    protected $adminUSER = "";
    protected $adminPW = "";
}

1 个答案:

答案 0 :(得分:1)

以这种方式使用setter:

class someClass
{
    protected $adminUSER = "";
    protected $adminPW = "";

    public function setAdminUser($adminUser)
    {
        $this->adminUSER = $adminUser ;
    }

    public function setAdminPw($adminPW)
    {
        $this->adminPW= $adminPW;
    }
}

$classInstance = new someClass();
$classInstance->setAdminUser('AdminUser');
$classInstance->setAdminPw('AdminPw');

如果您无法修改课程,请使用遗产:

class myClass extends someClass
{
    public function __construct($adminUser, $adminPW)
    {
        $this->adminUSER = $adminUser ;
        $this->adminPW= $adminPW;
    }
}

$myInstance = new myClass('UserAdmin', 'Password);

或者遗产和setter ......或者只是继承并读取构造函数中的配置:

class myClass extends someClass
{
    public function __construct()
    {
        $ini_array = parse_ini_file("somefile");
        $this->adminUSER = $ini_array['adminUser'] ;
        $this->adminPW= $ini_array['adminPassword'];
    }
}

然后调用你的新类,它应该是自动初始化的:

$myInstance = new myClass();