使用外部变量在 PHP class 中声明受保护的变量
Declare protected variable inside PHP class with variable from outside
我正在使用 adLDAP 插件(不是很相关),并且有一个标准 PHP class。在这个 class 中有 2 个受保护的变量(管理员用户和管理员密码)。
我需要用我用 parse_ini_file 加载的 .ini 文件中的数据声明这两个变量。我该怎么做呢?我无法让它工作。示例:
$ini_array = parse_ini_file("somefile");
// username comes like $ini_array["php_value ad.username"]
class someClass {
protected $adminUSER = "";
protected $adminPW = "";
}
这样使用二传手:
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,请使用继承:
class myClass extends someClass
{
public function __construct($adminUser, $adminPW)
{
$this->adminUSER = $adminUser ;
$this->adminPW= $adminPW;
}
}
$myInstance = new myClass('UserAdmin', 'Password);
或者heritage和setter都...或者干脆继承并读取构造函数中的配置:
class myClass extends someClass
{
public function __construct()
{
$ini_array = parse_ini_file("somefile");
$this->adminUSER = $ini_array['adminUser'] ;
$this->adminPW= $ini_array['adminPassword'];
}
}
然后调用你的新 class,它应该被自动初始化:
$myInstance = new myClass();
我正在使用 adLDAP 插件(不是很相关),并且有一个标准 PHP class。在这个 class 中有 2 个受保护的变量(管理员用户和管理员密码)。
我需要用我用 parse_ini_file 加载的 .ini 文件中的数据声明这两个变量。我该怎么做呢?我无法让它工作。示例:
$ini_array = parse_ini_file("somefile");
// username comes like $ini_array["php_value ad.username"]
class someClass {
protected $adminUSER = "";
protected $adminPW = "";
}
这样使用二传手:
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,请使用继承:
class myClass extends someClass
{
public function __construct($adminUser, $adminPW)
{
$this->adminUSER = $adminUser ;
$this->adminPW= $adminPW;
}
}
$myInstance = new myClass('UserAdmin', 'Password);
或者heritage和setter都...或者干脆继承并读取构造函数中的配置:
class myClass extends someClass
{
public function __construct()
{
$ini_array = parse_ini_file("somefile");
$this->adminUSER = $ini_array['adminUser'] ;
$this->adminPW= $ini_array['adminPassword'];
}
}
然后调用你的新 class,它应该被自动初始化:
$myInstance = new myClass();