我收到的错误表明:
array_merge():参数#2不是数组
我正在尝试解决它,但我不确定还有什么可以尝试。这是我执行的代码:
$config = array();
$config['base_url'] = Application::getInstance()->request->getRootUri();
$config['public_url'] = $config['base_url'] . '/public';
$config['bower_components_url'] = $config['public_url'] . '/bower_components';
$app_config = array();
$app_config = require_once 'app/config/application.php';
$full_config = array_merge($config, $app_config, $data);
参数app config需要此文件:
return array (
'debug' => true,
'app_name' => 'Name',
'app_author' => 'Author',
'app_url' => '',
'session_prefix' => '',
'session_secret' => '',
);
有人可以帮我理解我收到此错误的原因吗?
答案 0 :(得分:0)
您需要在此配置文件的开头添加php开启标记:
<?php
return array (
'debug' => true,
'app_name' => 'Name',
'app_author' => 'Author',
'app_url' => '',
'session_prefix' => '',
'session_secret' => '',
);
启用错误报告并检查您的路径是否正确。
答案 1 :(得分:-1)
问题是您将$ app_config定义为数组,然后将其重新定义为变量。试试这个
$app_config = array();
$app_config[] = require_once 'app/config/application.php';
答案 2 :(得分:-1)
执行此操作:$app_config = require_once 'app/config/application.php';
将返回一个对象(当然不是数组)。我想。
我认为这种方法更具可定制性。
应用程序/配置/ functions.php的
//this will be inside functions.php
function appConfig() {
return array (
'debug' => true,
'app_name' => 'Name',
'app_author' => 'Author',
'app_url' => '',
'session_prefix' => '',
'session_secret' => '',
);
}
你的主要php文件
require_once 'app/config/functions.php';
// your other code
$app_config = appConfig();
$full_config = array_merge($config, $app_config, $data);