Heim > Artikel > PHP-Framework > So implementieren Sie die Aufzeichnung von Hinzufügungs-, Lösch-, Änderungs- und Prüfvorgangsprotokollen in ThinkPHP5.1
1. Einführung in die Protokollierungsfunktion von ThinkPHP 5.1
In ThinkPHP 5.1 wurde die Protokollierungsfunktion integriert. Wir können es in unseren Anwendungen verwenden, um verschiedene Arten von Ereignissen aufzuzeichnen, z. B. Fehlermeldungen, Debugging-Informationen und Benutzervorgänge. Das Framework stellt vier Protokollierungsebenen bereit: DEBUG, INFO, NOTICE und ERROR.
Zusätzlich zu den integrierten Protokollierungsstufen können wir auch unsere eigenen Protokollierungsstufen definieren. Wir können ein Beispiel geben, indem wir eine Protokollebene mit dem Namen „CRUD“ erstellen, um Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge aufzuzeichnen.
Standardmäßig werden Protokolle im Protokollverzeichnis unter dem Stammverzeichnis der Anwendung aufgezeichnet. Wenn Sie den Speicherort des Protokolls ändern müssen, können Sie dies tun, indem Sie die Konfigurationsdatei ändern. Konfigurationsdateien befinden sich im Allgemeinen im Konfigurationsverzeichnis der Anwendung.
2. Implementierung der Protokollaufzeichnung von Vorgängen zum Hinzufügen, Löschen, Ändern und Überprüfen
Sehen wir uns an, wie die Protokollaufzeichnung von Vorgängen zum Hinzufügen, Löschen, Ändern und Überprüfen in ThinkPHP 5.1 implementiert wird. Wir werden die folgenden Schritte ausführen, um dies zu erreichen:
Erstellen Sie eine benutzerdefinierte Konfigurationsdatei im Konfigurationsverzeichnis.
Fügen Sie Protokollfelder zur Datentabelle hinzu.
Schreiben Sie die Methoden zum Hinzufügen, Löschen und Ändern im Modell neu.
Protokolle aufzeichnen
Erstellen Sie eine benutzerdefinierte Konfigurationsdatei im Konfigurationsverzeichnis
Wir müssen zunächst eine benutzerdefinierte Konfigurationsdatei erstellen und diese im Konfigurationsverzeichnis der Anwendung ablegen. Wir nennen diese Datei common_extra.php.
$config = [
'crud_log' => true, // 记录增删改查日志 'crud_ignore_fields' => ['create_time', 'update_time'] // 忽略日志记录的字段
];
In der Konfiguration legen wir zwei Optionen fest. Das erste ist crud_log, mit dem die Protokollierung aktiviert oder deaktiviert wird. Das zweite ist „crud_ignore_fields“, das zur Angabe von Feldern verwendet wird, die nicht protokolliert werden.
Protokollfelder zur Datentabelle hinzufügen
Als nächstes müssen wir einige Felder zur Datentabelle hinzufügen, um Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge aufzuzeichnen. Wir können jeder Datentabelle die folgenden Felder hinzufügen:
id (Primärschlüssel automatisch inkrementieren)
user_id (Operationsbenutzer-ID, kann leer sein)
action (Operationstyp, z. B. Hinzufügen, löschen, ändern)
table_name (Datentabellenname der Operation)
data (Daten der Operation)
created_at (Operationszeit)
Schreiben Sie die Methoden zum Hinzufügen, Löschen und Ändern im Modell neu
Jetzt müssen wir die Methoden zum Hinzufügen, Löschen und Ändern im Modell neu schreiben, um die Protokollierung zu implementieren. Um dies zu erreichen, verwenden wir den globalen Abfragebereich. Wir werden die Methoden zum Erstellen, Aktualisieren und Löschen überschreiben.
Bei jeder Methode erfassen wir den entsprechenden Vorgangstyp und die entsprechenden Daten. Anschließend schreiben wir die Protokolle mithilfe der Protokollklasse in die Protokolldatei.
Hier ist ein Beispielcode:
Namespace AppCommonModel;
Use ThinkModel; Im vorherigen Beispiel haben wir das Protokoll in eine Datentabelle namens „log“ geschrieben. Sie können die Protokolle jedoch in eine Datei schreiben, sie an einen Protokollserver senden oder bei Bedarf an einen anderen Ort senden.
Durch die oben genannten Schritte haben wir die Funktion zum Protokollieren von Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgängen in ThinkPHP 5.1 erfolgreich implementiert.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Aufzeichnung von Hinzufügungs-, Lösch-, Änderungs- und Prüfvorgangsprotokollen in ThinkPHP5.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!