在Laravel中加载json文件以进行数据库配置

时间:2014-12-07 19:33:45

标签: php json laravel

我最近正在开展laravel项目。这个项目需要一个数据库:安装该软件时会提供其配置数据,并将其保存在位于根目录下的sw-config.json中,如composer.json文件......

现在我希望laravel database.php使用此文件中的数据。 我以为我可以简单地让php通过file_get_content()加载json文件并直接在app / config / database.php中设置数据

但不知道为什么它不起作用...我在加载和解码json文件时遇到了麻烦。代码看起来像这样。

$fokusConfigFile = file_get_contents(__DIR__."/../../content/sw-config.json");
$json = json_decode($fokusConfigFile, true);
$database = $json['database'];

$connection = array(
    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => $database['host'],
        'database'  => $database['database'],
        'username'  => $database['username'],
        'password'  => $database['password'],
        'charset'   => 'utf8',
        'collation' => $database['coalition'],
        'prefix'    => $database['prefix'],
    )
);

作为错误消息,我收到未定义的索引'host'...看不出有什么问题。

1 个答案:

答案 0 :(得分:0)

像@ceejayoz所说:var_dump()print_r() $database变量来检查它。我能想到的是JSON返回一个对象,因此你需要通过

访问它的值
$database->host