codeigniterのフックポイントを使用するには
$config['enable_hooks'] = TRUE;
$hook['post_controller_constructor'][] = array(
'class' => 'Cachecontrol',
'function' => 'set_cache_on',
'filename' => 'Cachecontrol.php',
'filepath' => 'controllers/hooks' , // application からの相対パス。(デフォルトは hooks。他者に見落とされないよう controllers/hooks に置くのもありです)
);
<?php
class Cachecontrol
{
public function __construct()
{
$this->CI = &get_instance();
}
public function set_cache_on()
{
echo'Hook Test !!!';
}
}
フックポイント | 説明 |
---|---|
pre_system | システム実行中の非常に早い段階で呼び出されます。ベンチマーククラスと フッククラスだけがこの時点でロードされています。ルーティングや 他のプロセスは実行されていません。 |
pre_controller | いずれかのコントローラが呼び出される直前に呼び出されます。 すべての基本クラス、ルーティング、およびセキュリティチェックは実行済みです。 |
post_controller_constructor | コントローラがインスタンス化された直後に、 しかしメソッド呼び出しをする前に呼び出されます。 |
post_controller | コントローラの実行が完全に終わった直後に呼び出されます。 |
display_override _display() | メソッドをオーバーライドします。システム実行の最後で ウェブブラウザに確定ページを送信するために使用されるものです。これにより 独自の方法による表示が可能になります。 CI スーパーオブジェクトへの参照が $this->CI =& get_instance() により必要となること、 そして確定データは $this->CI->output->get_output() を呼び出すことによって利用できるようになることを覚えておいてください。 |
cache_override | 出力ライブラリの _display_cache() メソッドのかわりに独自のメソッドを呼び出すことができます。これにより、 独自のキャッシュ表示機構を使用できるようになります。 |
post_system | 最終的にレンダリングされるページがブラウザに送られた後、 つまりブラウザに確定データが送信されシステム実行が終了する時に 呼び出されます。 |