Можно ли использовать библиотеки из Cookie Classes?

Я использую хуки для вызова класса, который выполняется до вызова контроллеров.

$hook['pre_controller'] = array(
'class' => 'CargarInformacion',
'function' => 'obtenerInfo',
'filename' => 'CargarInformacion.php',
'filepath' => 'hooks',
'params' => ''
);

Это класс

class CargarInformacion
{
function obtenerInfo()
{
$ci = &get_instance();
$informacion = $ci->db->get('sitio', 1)->row();
}
}

Но я всегда получаю ту же ошибку

Попытка получить свойство необъекта

Я знаю, что реализованы тысячи ответов, но до сих пор я не нашел правильный.

1

Решение

Как указано в документе codeigniter,

pre_controller

Вызывается непосредственно перед вызовом любого из ваших контроллеров. Все базовые классы, маршрутизация и проверки безопасности были
сделанный.

Вот почему вы не можете получить доступ к ссылке на суперобъект CI в pre_controller крюк. Вы можете проверить это, сделав так.

$hook['pre_controller'] = array(
'class' => 'CargarInformacion',
'function' => 'obtenerInfo',
'filename' => 'CargarInformacion.php',
'filepath' => 'hooks',
'params' => 'pre'
);

$hook['post_controller_constructor'] = array(
'class' => 'CargarInformation',
'function' => 'obtenerInfo',
'filename' => 'CargarInformation.php',
'filepath' => 'hooks',
'params' => 'post'
);

В CargarInformation.php,

class CargarInformation  {
function __construct($foo = null) {
$this->CI =& get_instance();
}

function obtenerInfo($param)
{
echo $param;
echo "<pre>";
print_r($this->CI);
echo "</pre>";
}
}

Поэтому попробуйте использовать post_controller_constructor вместо этого, если вы хотите получить доступ к ссылке на суперобъект CI, но до того, как произойдет какой-либо вызов контроллера.

Надеюсь, это будет полезно для вас.

1

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector