我有一个config.php作为Web项目的一部分,其中包括多维关联数组。
$config = array(
"db" => array(
"server" => "localhost",
"name" => "mydb",
"user" => "user",
"pwd" => "password"
),
"urls" => array(
"base_url" => "http://localhost/"
),
# Omitted for brevity
);
在“ db”数组下,我想包括一个名为“ dsn”的键,该键将是在数组本身内定义的PDO DSN字符串。我设法做到这一点的唯一方法是分别定义它:
$config['db']['dsn'] = 'mysql:host=' . $config['db']['server'] . ';dbname=' . $config['db']['name'] . ';port=3306';
无论如何,可以在数组本身中定义它,如下所示?
...
"db" => array(
"server" => "localhost",
"name" => "mydb",
"user" => "user",
"pwd" => "password"
"dsn" => #(some value here that uses "server" and "name")
),
...
如果要在更改dsn
时更新数组$config
,则可以将类与magic methods或ArrayAccess接口一起使用。