2014-12-07 31 views
0

我最近正在开发一个laravel项目。这个项目需要一个数据库:提供了其配置的数据,同时安装该软件及其保存在位于根目录像composer.json文件中的SW-config.json ...在Laravel中加载用于数据库配置的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'], 
    ) 
); 

作为一条错误消息,我收到未定义的索引“主机”...看不到有什么问题。

+0

访问其值做'$ database'的'print_r',看看它是否有一个'host'属性。 – ceejayoz 2014-12-07 19:41:55

回答

0

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

$database->host 
+0

database.php中的'var_dump()'不显示任何内容。 – 2014-12-08 17:52:40

+0

'var_dump($ database);''$ connection = ...'之前'? – sisou 2014-12-08 17:59:12

相关问题