抱歉,如果这个问题对某人来说是微不足道的,但到目前为止我无法做到并找到答案。Laravel
中我们有app/config/database.php
'connections' => array(
...
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'myDB',
'username' => 'myUser',
'password' => 'myPass',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
...
),
现在我有两个自定义文件,一个在public
目录,一个在libraries
目录,其中也有db凭据
$servername = "localhost";
$username = "myUser";
$password = "myPass";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
是否有一种方法以某种方式包括app/config/database.php
在这些文件和读取DB凭据,而不是有DB凭据在3个文件?
如果test.php存在公共文件夹中:
// test.php
$config = include __DIR__ . '/../app/config/database.php';
// var_dump($config);
$servername = $config['connections']['mysql']['host'];
$username = $config['connections']['mysql']['username'];
$password = $config['connections']['mysql']['password'];
$dbname = $config['connections']['mysql']['database'];
$conn = new mysqli($servername, $username, $password, $dbname);
您可以包含app/config/database.php
文件,然后从那里读取凭据。
在您的自定义文件中,这只是一个使用include 'path_to/app/config/database.php';
的问题,然后您可以从那里访问连接数组。为了帮助我们生成一个文件路径,我们可以使用__DIR__
魔法常数;
include __DIR__ . '/../app/config/database.php';
$conn = new mysqli(connections['mysql']['host'], connections['mysql']['username'], connections['mysql']['password'], connections['mysql']['database']);