English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Thinkphp5行動の使用方法の要約

アプリケーションやモジュール下に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(メールを送信する際、#を@に置き換えてください。通報を行い、関連する証拠を提供してください。一旦確認がとりついたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)

おすすめ