English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
アプリケーションやモジュール下にbehaviorディレクトリを作成し、そのディレクトリ内に行動クラスファイルTest.PHPを作成します(以下はhomeモジュールの例です)
namespace app;/home/behavior;//アプリケーションやモジュールの異なるネームスペースに注意してください class Test { public function run(&$params) { echo $params; }
メソッド1
1.エントリーファイルに追加します: define('APP_HOOK', true);
2.homeモジュール下にtags.PHPファイルを作成して行動を定義します
return [ 'app_init' => [ 'app//home//behavior//Test', //行動のネームスペースに注意してください(以下も同様) ], 'zzzzz' => [//カスタムタグ位置 'app//home//behavior//Test', ], //................. ];
3.コントローラーメソッド内で必要な場所にイベントをリスンします
/think/Hook::listen('app_init', $params);//パラメータは変数です(以下も同様) /think/Hook::listen('zzzzz', $params);//カスタム
メソッド2
1.home モジュールの公共ファイル(common.PHP)またはコントローラーメソッド内にイベントをバインドするタグ位置に
/think/Hook::add('app_init', 'app//home//behavior//Test'); /think/Hook::add('zzzz', 'app//home//behavior//Test');//カスタム
2.コントローラーメソッド内で必要な場所にイベントをリスンします
/think/Hook::listen('app_init', $params); /think/Hook::listen('zzzzz', $params);//カスタム
メソッド3
コントローラーメソッド内で必要な場所で行動を直接実行する必要があります
/think/Hook::exec('app}}//home//behavior//Test','run', $params);
方法四
コントローラーメソッド内で直接クローズドコード関数を使用
$a='クローズドコード関数'; /think/Hook::add('zzzz', function($a){ var_dump($a);}); /think/Hook::listen('zzzz', $a);
方法五
イベントクラスを複数のタグにバインド
1.Test.PHP は以下のように定義されています:
namespace app;/home/behavior; class Test { public function app_init(&$params){ echo 'app_init'; } public function app_end(&$params){ echo 'app_end'; }
2.home モジュールの公共ファイル(common.PHP)またはコントローラーメソッド内にイベントをバインドするタグ位置に
/think/Hook::add('app_init', 'app//home//behavior//Test'); /think/Hook::add('app_end', 'app//home//behavior//Test');
3.コントローラーメソッド内で必要な場所にイベントをリスンします
/think/Hook::listen('app_init', $params); /think/Hook::listen('app_end', $params);
まとめ
以上は、編集者が皆さんに紹介する Thinkphp です。5使用方法のまとめを提供し、皆さんに役立つことを願っています。何かご不明な点があれば、コメントを残してください。編集者が迅速に回答します。このサイトへのサポートに感謝しています!
声明:この記事の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーにより自発的に提供された内容であり、このサイトは所有権を有しないものです。人工編集は行われておらず、法的責任も負いません。著作権侵害を疑われる内容がある場合は、メールを notice#w までお送りください。3codebox.com(メールを送信する際、#を@に置き換えてください。通報を行い、関連する証拠を提供してください。一旦確認がとりついたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)