ThinkPHP6-Ereignisse und mehrere Anwendungen

Guanhui
Freigeben: 2020-05-08 10:29:06
nach vorne
3953 Leute haben es durchsucht

Ereignisse

1. Ereignisse ähneln in gewisser Weise der Middleware, außer dass Ereignisse detailliertere Geschäftsszenarien definieren können. Event-Klasse, Event-Listening-Klasse, Event-Abonnement-Klasse; Sie können die Listener-Klasse verwenden, um einen Listener zu entwerfen und ihn über die Befehlszeile zu erstellen. In app/event.php ist die Konfigurationsmethode wie folgt konfiguriert:

public function __construct()
{
//注册监听器
Event::listen('TestListen', function ($param) {
echo '我是监听器,我被触发了!'.$param;
});
}
public function info()
{
echo '登录前准备!';
Event::trigger('TestListen', 'ok'); //触发监听器
event('TestListen'); //助手函数触发
}
Nach dem Login kopieren

6 . Wenn die Überwachungsklasse ausgelöst wird, führt sie automatisch die Methode handle() aus, um die Überwachungsfunktion zu implementieren.

php think make:listener TestListen
Nach dem Login kopieren

7 Ereignisse, die automatisch ausgelöst werden, solange die Bedingungen erfüllt sind;

Ereignisbeschreibungsparameter AppInit-Anwendungsinitialisierungs-Tag-Bit Keines HttpRun-Anwendungs-Start-Tag-Bit Keines HttpEnd-Anwendungs-End-Tag-Bit Aktuell Antwortobjektinstanz LogWrite Protokollschreibmethode Tag-Bit Aktuell geschriebene Protokollinformationen RouteLoaded Routenladen abgeschlossen Keine

8 Die Ereignis-Abhörklasse kann mehrere Abhörklassen gleichzeitig überwachen, solange sie an einen Bezeichner gebunden ist;

public function info()
{
echo '登录前准备!';
Event::listen('TestListen', TestListen::class); //这句可以定义到配置文件
Event::trigger('TestListen');
}
Nach dem Login kopieren

Für diejenigen, die mehrere Überwachungen benötigen, ist der Hörkurs nicht flexibel genug. Sie können den Abonnementkurs verwenden Die Abonnementklasse besteht darin, das Listening-Ereignis als interne Methode zum Implementieren von

'listen' => [
'TestListen' => [\app\listener\TestListen::class]
],
Nach dem Login kopieren
ThinkPHP6-Ereignisse und mehrere Anwendungen11 zu verwenden. Dann hören die beiden Methoden jeweils zwei Ereignismethoden auf. Rufen Sie einfach den Methodennamen direkt auf Das System bietet viele präzise Lösungen.

public function handle($event)
{
echo '我是监听类!'.$event;
}
Nach dem Login kopieren

Mehrfachanwendungsmodus

1

2. Erstellen Sie nach der Installation zwei Anwendungsverzeichnisordner, index und admin.

3. Fügen Sie einfach den entsprechenden Namespace hinzu Verzeichnisordner, index und admin, zur Ansicht und verschieben Sie sie in die entsprechenden Ordner

5. Die Standardanwendung ist index, ändern Sie sie einfach in app.php

kann eine Anwendungszuordnung durchführen, z. B. das Zuordnen des Admin-Verzeichnisses zum Nachdenken und Verlassen des Admin-Verzeichnisses;

'TestListen' => [
\app\listener\TestListen::class,
\app\listener\TestOne::class,
\app\listener\TestTwo::class
]
Nach dem Login kopieren

8. Routenänderung: Die Route muss separat im Anwendungsverzeichnis eingerichtet werden und die interne Codierung muss nicht geändert werden.

Empfohlenes Tutorial: „ThinkPHP Tutorial "

Das obige ist der detaillierte Inhalt vonThinkPHP6-Ereignisse und mehrere Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:zhihu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage