php - 在 PHP 中,如何在为类定义公共变量时使用变量作为 key=>value 对中的值?
问题描述
我正在尝试使用环境变量来设置我们的数据库机密。它们在一个类中定义。复制到这里。我正进入(状态:
解析错误:语法错误,意外“意外'$_SERVER'”
不允许使用变量。
有没有办法做到这一点,我错过了?
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => $_SERVER['DB_DEFAULT_HOST'],
'login' => $_SERVER['DB_DEFAULT_LOGIN'],
'password' => $_SERVER['DB_DEFAULT_PASSWORD'],
'database' => $_SERVER['DB_DEFAULT_DATABASE'],
'prefix' => ''
//'encoding' => 'utf8',
);
}
解决方案
我认为最好的方法是使用该__construct
方法并像这样填充变量:
class DATABASE_CONFIG {
public $default = [];
public function __construct(){
$this->default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => $_SERVER['DB_DEFAULT_HOST'],
'login' => $_SERVER['DB_DEFAULT_LOGIN'],
'password' => $_SERVER['DB_DEFAULT_PASSWORD'],
'database' => $_SERVER['DB_DEFAULT_DATABASE'],
'prefix' => ''
//'encoding' => 'utf8',
);
}
}
推荐阅读
- crash - zynq pl 会导致内核崩溃吗?
- postgresql - 如何更新 postgres 数组中的 json?
- sql-server - 我可以将在 SQL Server 中存储为 XML 的 SVG(仅)转换为不同的图像类型吗?
- fork - 如何分叉 Uniswap V2 接口?
- c# - 如何使用 C# 使用 LDAP/OID 连接字符串连接到 Oracle
- python - sklearn-crfsuite - 处理数值/连续特征
- python - 又一个“没有已知父包的尝试相对导入”
- python - 使用张量流计算雅可比和梯度
- amazon-web-services - 如何将 Terraform 状态与现有资源同步?
- python - 如何创建用于在 Python 中显示颜色的类 Canvas?