Was beide gemeinsam haben, ist, dass sie Modelle instanziieren, aber was sind ihre Unterschiede? Werfen wir einen Blick darauf:
$User = D('User'); Der Parameter User in Klammern entspricht der HomeModelUserModel.class.php der Modellklassendatei (wir gehen davon aus, dass das aktuelle Modul Home ist). Wenn der Parameter „UserType“ ist, lautet die entsprechende Modellklassendatei HomeModelUserTypeModel.class.php. Dies bedeutet, dass der Parameter der D-Methode der Name des Modells ist und mit der Falldefinition der Modellklasse übereinstimmt.
$User = M('User'); entspricht $User = new ThinkModel('User'); das heißt, wenn die M-Methode instanziiert wird, handelt es sich standardmäßig um eine direkte Instanz Um andere öffentliche Modellklassen zu instanziieren, können wir die folgende Methode verwenden: $User = M('HomeCommenModel:User','think_','db_config'); (Wir gehen davon aus, dass das Tabellenpräfix think_ ist).
Während des Instanziierungsprozesses verwenden wir häufig die D-Methode und die M-Methode. Der Unterschied zwischen den beiden Methoden besteht darin, dass der Benutzer das Modell instanziiert Die D-Methode wurde nicht gefunden. Die definierte Modellklasse ruft automatisch die M-Methode auf.
Wenn Sie außerdem die Funktionen zur automatischen Überprüfung und automatischen Vervollständigung in ThinkPHP verwenden möchten, müssen Sie die D-Methode verwenden.
Um es ganz klar auszudrücken: Der Parameter beim Instanziieren der M-Methode ist der Tabellenname Ihrer Datenbank, während die D-Methode die Model-Klasse instanziiert, die Sie im Model-Ordner geschrieben haben. Natürlich möchten Sie Überprüfen und vervollständigen Sie es automatisch mithilfe der D-Methode.
Weitere technische Artikel zu ThinkPHP finden Sie in der Spalte Tutorial zur Verwendung von ThinkPHP.
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen der D-Methode und der M-Methode in Thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!