In diesem Artikel erfahren Sie, wie Sie mit leeren Operationen und leeren Controllern im ThinkPHP-Framework umgehen. Die sogenannten leeren Operationen und leeren Controller bedeuten kurz gesagt, dass die Methode oder der Controller nicht vorhanden ist System, und sie werden dazu führen, dass das System einen Fehler gemeldet hat. Interessierte Freunde sollten vorbeikommen und es gemeinsam herausfinden.
Korrekte URL (Testumgebung): http://oa.com/index.php/admin/public/login Zugriff wie folgt:
1: Keine Vorgangsverarbeitung
Ändern Sie die Methode auf loginw und der Fehler wird wie folgt gemeldet:
Das System verfügt standardmäßig über einen integrierten Fehlermeldemechanismus: 1. Schlechte Benutzererfahrung 2. Ernsthafte Sicherheitsrisiken.
Sehen Sie sich die Controller-Datei der übergeordneten Klasse Controller.class.php an und finden Sie den folgenden Code:
Dies bedeutet, dass die aufgerufene Methode dies tut nicht vorhanden. Wenn jedoch die Methode _empty() definiert ist, wird _empty() ausgeführt oder eine Vorlagendatei mit demselben Namen wie die aufgerufene Methode angezeigt. Es ist unmöglich, für jede unbekannte Methode eine Vorlage zu erstellen. Deshalb verwenden wir hier die Methode _empty(), um leere Operationen abzuwickeln. Definieren Sie die Methode _empty() im Controller Public wie folgt:
Laufergebnisse:
können übergeben werden In der Methode _empty() wird eine Vorlagendatei eingeführt, um die Seite schöner zu machen. Dies ist nur ein Test. Wenn wir jedoch viele Controller haben, ist es nicht sinnvoll, in jedem Controller in
ein _empty() zu definieren. In diesem Fall kann es in der übergeordneten Klasse Controller.class.php und den Unterklassen It definiert werden kann wie folgt verwendet werden:
Normalerweise wird der Code in der übergeordneten Klasse Controller.class.php jedoch nicht geändert. Sie können ihn zwischen der untergeordneten Klasse hinzufügen und die übergeordnete Klasse ist implementiert (Einzelheiten siehe nächster Artikel).
2. Leere Controller-Verarbeitung
Ändern Sie den Controller-Namen in Publicu. Der Fehler lautet wie folgt:
View App.class.php und es gibt den folgenden Code:
So können Sie einen weiteren EmptyController.class.php-Controller erstellen und Eingebaute _empty() Methode für den Zugriff auf diesen Controller, wenn der Controller, auf den zugegriffen wurde, nicht existiert.
Besuchen Sie die Seite erneut wie folgt:
Verwandte Tutorials: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonUmgang mit Nulloperationen und Nullcontrollern im ThinkPHP-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!