これを行うには複数の方法があります。
trackuser_helper.php
1 つは、ヘルパー フォルダーなどにヘルパー ファイルを作成することです。このファイルで追跡を行う関数を作成します (たとえばtrackUser()
)。次に、このファイルを次のconfig/autoload.php
ように自動ロードします。
/*
| -------------------------------------------------------------------
| Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('trackuser'); //ignore the '_helper.php' portion of the filename
trackUser()
これで、すべてのコントローラーを呼び出すことができます。
私の意見ではより良い2番目のオプションは、Hooks
提供されたものを使用することですCodeIgniter
これらは内部で次のconfig/hooks.php
ように定義されています。
$hook['pre_controller'][] = array(
'class' => 'MyClass',
'function' => 'Myfunction',
'filename' => 'Myclass.php',
'filepath' => 'hooks',
'params' => array('param1', 'param2', 'etc')
);
配列インデックスは、使用する特定のフック ポイントの名前に対応しています。上記の例では、フック ポイントは pre_controller です。フックポイントのリストは以下にあります。連想フック配列で次の項目を定義する必要があります。
1.Class - 呼び出したいクラスの名前。クラスの代わりに手続き型関数を使用する場合は、この項目を空白のままにします。
2.関数 - 呼び出したい関数名。filename クラス/関数を含むファイル名。
3.Filepath - スクリプトを含むディレクトリの名前。注: スクリプトはアプリケーション フォルダー内のディレクトリに配置する必要があるため、ファイル パスはそのフォルダーからの相対パスになります。たとえば、スクリプトが application/hooks にある場合、単純にフックをファイルパスとして使用します。スクリプトが application/hooks/utilities にある場合は、hooks/utilities をファイルパスとして使用します。末尾のスラッシュはありません。
4.Params - スクリプトに渡したいパラメータ。この項目はオプションです。
これは、各コントローラーがロードされる前に実行する関数呼び出しを指定します。trackuser()
この方法では、各に追加する必要さえありませんcontroller
。これらのフックはpre_controller
またはpost_controller
です。フックの詳細については、CI ドキュメントを参照してください。