Codeigniter post_system хук не работает - PullRequest
0 голосов
/ 27 февраля 2012

У меня настроен запуск ловушки после отправки последней обработанной страницы в браузер.

$hook['post_system'] = array(
                                    'filepath' => 'hooks',
                                    'filename' => 'notes_hooks.php',
                                    'class'    => 'Notes_hooks',
                                    'function' => 'write_notes',
                );

С моим классом крючков для заметок -

class Notes_hooks extends CI_Hooks {

  function __construct() 
  {
    parent::__construct();
    $this->CI = get_instance();
  }

  function write_notes()
  {
    if(isset($this->CI->notes_model))
    {
        $this->CI->notes_model->batch_insert();
    }

  }

}

Это все работает нормально и выполняет функцию, которую он должен делать, кроме того, что он выполняет функцию до того, как вывод будет отправлен в браузер. Например, если я добавлю сон после

$this->CI->notes_model->batch_insert();

Затем, когда я загружаю страницу, она спит, а затем выводит, а не ожидаемый рендеринг и вывод страницы в браузер с PHP, спящим в фоновом режиме.

Должно быть, я что-то упустил?

1 Ответ

0 голосов
/ 28 февраля 2012

На самом деле проблема была вызвана redirect() в моем контроллере, что вызвало ошибку в перехватах.Я решил проблему, создав пользовательскую функцию перенаправления.

См .: http://codeigniter.com/forums/viewthread/134631/#664913

...