Heim  >  Artikel  >  PHP-Framework  >  Was ist der Rückgabewert der m-Methode in thinkphp?

Was ist der Rückgabewert der m-Methode in thinkphp?

WBOY
WBOYOriginal
2022-04-25 10:25:372540Durchsuche

In thinkphp ist der Rückgabewert der m-Methode ein Modellobjekt; die m-Methode kann als Abkürzung für „$m=new Model(“user“)“ verstanden werden, und das Aufrufformat ist „M('[ Basismodellname:] Modellname‘,‘Datentabellenpräfix‘,‘Datenbankverbindungsinformationen‘)“, seine Funktion besteht darin, eine Basismodellklasse zu instanziieren.

Was ist der Rückgabewert der m-Methode in thinkphp?

Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.

Was ist der Rückgabewert der m-Methode in thinkphp?

Die M-Methode kann man sich als Abkürzung für $m=new Model("user") vorstellen, das heißt, M() gibt ein Model-Objekt zurück

Die M-Methode wird verwendet, um eine Basismodellklasse zu instanziieren, das Aufrufformat der

M-Methode:

M('[基础模型名:]模型名','数据表前缀','数据库连接信息')

Was sind die spezifischen Verwendungszwecke der M-Methode:

1. Instanziieren Sie die Basismodellklasse (Modell)

Wenn kein Modell definiert ist, können wir die folgende Methode verwenden, um eine Modellklasse zu instanziieren, um Operationen auszuführen:

//实例化User模型
$User = M('User');
//执行其他的数据操作
$User->select();

Diese Methode ist die einfachste und effizienteste, da keine Modellklassen definiert werden müssen und daher projektübergreifend unterstützt wird Anrufe. Der Nachteil besteht auch darin, dass es keine benutzerdefinierte Modellklasse gibt, sodass die entsprechende Geschäftslogik nicht geschrieben werden kann und nur grundlegende CURD-Operationen ausgeführt werden können.

$User = M('User');

ist eigentlich gleichbedeutend mit:

$User = new Model('User');

bedeutet, dass die think_user-Tabelle bedient wird. Die M-Methode verfügt ebenso wie die D-Methode über eine Singleton-Funktion und wird bei mehrmaligem Aufruf nicht wiederholt instanziiert. Der Modellnamenparameter der M-Methode wird bei der Konvertierung in eine Datentabelle automatisch in Kleinbuchstaben umgewandelt, was bedeutet, dass die Benennungsspezifikation für Datentabellen von ThinkPHP ausschließlich im Kleinbuchstabenformat vorliegt.

2. Andere öffentliche Modellklassen instanziieren

Die erste Möglichkeit zur Instanziierung besteht darin, dass es keine Definition der Modellklasse gibt. Daher ist es schwierig, einige zusätzliche logische Methoden zu kapseln. In den meisten Fällen ist dies jedoch möglicherweise erforderlich Wenn Sie einige allgemeine Logik erweitern, können Sie die folgende Methode ausprobieren.

$User = M('CommonModel:User');

Die geänderte Verwendung entspricht tatsächlich:

$User = new CommonModel('User');

Da die Modellklassen des Systems automatisch geladen werden können, müssen wir die Klassenbibliothek vor der Instanziierung nicht manuell importieren. Die Modellklasse CommonModel muss Model erben. Wir können einige allgemeine logische Methoden in der CommonModel-Klasse definieren, wodurch die Notwendigkeit entfällt, für jede Datentabelle spezifische Modellklassen zu definieren. Wenn Ihr Projekt bereits über mehr als 100 Datentabellen verfügt, sind die meisten davon grundlegend. Für CURD-Operationen sind dies nur einige Modelle Da es sich um eine komplexe Geschäftslogik handelt, die gekapselt werden muss, ist die Kombination der ersten Methode und der zweiten Methode eine gute Wahl.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Rückgabewert der m-Methode in thinkphp?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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