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. В файле входа добавьте: define('APP_HOOK',true);
2. Создайте файл tags.PHP в модуле home для определения поведения
return [ 'app_init'=> [ 'app//home//behavior//Test', //внимание на имя пространства имен поведения(далее также) ], 'zzzzz'=> [//настройка тега 'app//home//behavior//Test', ], //................. ];
3. Места в методах контроллера, где необходимо отслеживать behavior
/think/Hook::listen('app_init',$params);//параметр - переменная(далее также) /think/Hook::listen('zzzzz',$params);//настройка
Метод два
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);//настройка
Метод три
Исполнение поведения direkt v необходимых местах метода контроллера
/think/Hook::exec('app//home//behavior//Test','run',$params);
Метод четыре
Использование закрытой функции direkt v методе контроллера
$a='Закрытая функция'; /think/Hook::add('zzzz',function($a){ var_dump($a);}); /think/Hook::listen('zzzz',$a);
Метод пять
Behavior class привязана к нескольким меткам
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. Привязка behavior к меткам в общих файлах (common.PHP) модуля home или в методах контроллера
/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('app_end','app//home//behavior//Test');
3. Места в методах контроллера, где необходимо отслеживать behavior
/think/Hook::listen('app_init',$params); /think/Hook::listen('app_end',$params);
Обобщение
Указанные выше методы использования behaviors Thinkphp5, представленные редактором, надеюсь, помогут вам. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий, редактор ответит вам своевременно. В этом также очень благодарен всем за поддержку сайта tuition yana.
Декларация: контент этой статьи взят из Интернета, авторские права принадлежат соответствующему автору. Контент предоставлен пользователями Интернета, загружен самостоятельно, сайт не имеет права собственности, не был отредактирован вручную и не несет ответственности за связанные с этим юридические вопросы. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @), чтобы сообщить о нарушении, и предоставьте соответствующие доказательства. При обнаружении факта нарушения, сайт немедленно удаляет涉嫌侵权的内容.