Переопределить get_config (Codeigniter)

Я обновляю свой 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');

0

Решение

Слово «Массив» перед $ replace в коде v3 указывает тип аргумента, поэтому вы получаете сообщение об ошибке.

‘config’ не был допустимым значением для этого аргумента. Удалите его, и вы должны быть в порядке.

    $config = &get_config('config');

в

   $config = &get_config('');
1

Другие решения

попробуй вот так

$config=array('db'=>'some value','someother'=>'value');
$config = &get_config($config);  **//  LINE 6**
0