Я обновляю свой Codeigniter с 2.2.1 до 3.0.0. Многое было изменено особенно сессий.
CI 2.2.1 и ранее имели эту функцию, как указано в system / core / Common.php: строка около 214.
function &get_config($replace = array())
{
static $_config;
if (isset($_config))
{
return $_config[0];
}
Это функция, которая расширяет system / core / Input.php
приложение / ядро / MY_Input.php
Class MY_Input extends CI_Input
{
function _clean_input_keys($str, $fatal = true)
{
$config = &get_config('config');
if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i",
rawurlencode($str)))
{
exit('Disallowed Key Characters.');
}
// Clean UTF-8 if supported
if (UTF8_ENABLED === TRUE)
{
$str = $this->uni->clean_string($str);
}return $str;
}
}
Пока здесь все работало нормально. После обновления до CI # system / core / Common.php изменил функцию на: Строка около 238
function &get_config(Array $replace = array())
{
static $config;
if (empty($config))
{
Как я могу сопоставить параметр для этой функции в MY_Input.php
$config = &get_config('config');
Слово «Массив» перед $ replace в коде v3 указывает тип аргумента, поэтому вы получаете сообщение об ошибке.
‘config’ не был допустимым значением для этого аргумента. Удалите его, и вы должны быть в порядке.
$config = &get_config('config');
в
$config = &get_config('');
попробуй вот так
$config=array('db'=>'some value','someother'=>'value');
$config = &get_config($config); **// LINE 6**