Heim >Backend-Entwicklung >PHP-Tutorial >Der Unterschied zwischen den Tastenkombinationen M und D im ThinkPHP-Framework
Der Unterschied zwischen den Methoden D() und M():
Der Hauptunterschied zwischen D und M besteht darin, dass die Methode
M keine Modellklassendatei erstellen muss Die M-Methode liest die Modellklasse nicht, daher ist die automatische Überprüfung standardmäßig ungültig, kann aber durch dynamische Zuweisung erreicht werden
und die D-Methode muss eine Modellklasse erstellen.
Wir können die folgenden zwei Methoden verwenden, um ein Zuordnungsobjekt einer Datentabelle zu erstellen
Die erste: $Test = D('Test')
Die zweite : $Test = new Model('Test')
Obwohl beide Vorgänge zum Auswählen, Einfügen, Löschen und Aktualisieren von Daten durchführen können, gibt es einen großen Unterschied bei der
Datenüberprüfung
Die Verwendung der ersten Methode zum Instanziieren eines Modells verfügt über eine Datenüberprüfungsfunktion. Wenn der Titel nicht ausgefüllt ist, wird die Meldung „Bitte geben Sie den Titel ein“ angezeigt (dies ist natürlich eine automatische Überprüfungsfunktion von tp). müssen auch entsprechend überprüft werden.
Wenn Sie den zweiten Typ verwenden, steht Ihnen diese Datenüberprüfungsfunktion nicht zur Verfügung und Sie müssen sie manuell überprüfen.
Die Zusammenfassung lautet wie folgt:
Die D-Funktion instanziiert das Modul unter Lib/Model Ihres aktuellen Projekts.
Wenn das Modul nicht existiert, geben Sie das Objekt des instanziierten Modells direkt zurück (die Bedeutung ist dieselbe wie bei der M()-Funktion).
Und M gibt nur das Objekt zurück, das das Modell instanziiert. Sein $name-Parameter wird als Tabellenname der Datenbank verwendet, um Vorgänge in der Datenbank abzuwickeln.
Laienhaft ausgedrückt:
D bedeutet, ein Modell basierend auf einer Modelldatei zu instanziieren.
M instanziiert ein Modellobjekt dynamisch, indem es die Modellmethode (ThinkPHP-Basisklasse) direkt instanziiert, auch wenn die entsprechende Modelldatei nicht vorhanden ist.
Einfacher ausgedrückt:
M-Instanziierungsparameter ist der Tabellenname der Datenbank.
D instanziiert die Modelldatei, die Sie im Modellordner erstellt haben.
D bedeutet, dass das System automatisch ein Modell für Sie definiert, wenn Sie kein Modell definieren, sodass Sie eine einfache Dateneingabe oder -ausgabe durchführen können.
Jede Aktionsdatei sollte einer Modelldatei entsprechen,
Zum Beispiel: $Form = D("User") kann in $Form = new UserModel((User is references) geändert werden zu Ihrem Modelldateinamen).