Detaillierte Erläuterung der ThinkPHP-Funktionen: D-Methode

不言
Freigeben: 2023-03-24 22:42:02
Original
2804 Leute haben es durchsucht

Dieser Artikel stellt eine detaillierte Erklärung der ThinkPHP-Funktionen vor, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen teilen. Freunde in Not können sich darauf beziehen

Die D-Methode dürfte die am häufigsten verwendete Methode sein, um benutzerdefinierte Modellklassen zu instanziieren. Sie implementiert auch den Singleton-Modus und unterstützt projektübergreifende Aufrufe Aufrufformat Wie folgt:

D('[Projekt://][Gruppe/]Modell','Name der Modellebene')
Der Rückgabewert der -Methode ist das instanziierte Modellobjekt . Die
D-Methode kann die Modellklasse automatisch erkennen. Wenn eine benutzerdefinierte Modellklasse vorhanden ist, wird sie instanziiert. Wenn sie nicht vorhanden ist, lautet die Modellbasisklasse

Nach dem Login kopieren

Gleichzeitig instanziierte Modelle werden nicht erneut instanziiert. Die häufigste Verwendung der

D-Methode besteht darin, ein benutzerdefiniertes Modell des aktuellen Projekts zu instanziieren, zum Beispiel:



// 实例化User模型
 $User = D('User');
Nach dem Login kopieren
  1. Code kopieren

importiert die Datei Lib/Model/UserModel.class.php unter dem aktuellen Projekt und instanziiert dann die UserModel-Klasse, sodass der tatsächliche Code möglicherweise dem folgenden entspricht:

import('@.Model.UserModel');
 $User = new UserModel();
Nach dem Login kopieren
  1. Code kopieren

Aber wenn Sie die D-Methode verwenden und die UserModel-Klasse nicht existiert, wird sie automatisch aufgerufen

new Model('User');
Nach dem Login kopieren
  1. Kopieren Sie den Code

und es ist nicht erforderlich, ihn beim zweiten Aufruf erneut zu instanziieren, was einen gewissen Betrag reduzieren kann Objektinstanziierungsaufwand.

D-Methode kann die Instanziierung von Modellen über Gruppen und Projekte hinweg unterstützen, zum Beispiel:

//实例化Admin项目的User模型
 D('Admin://User')
 //实例化Admin分组的User模型
 D('Admin/User')
Nach dem Login kopieren
  1. Code kopieren

Hinweis: Um das projektübergreifende Aufrufmodell zu implementieren, müssen Sie sicherstellen, dass die Verzeichnisstrukturen der beiden Projekte parallel sind.


Ab Version 3.1 kann die D-Methode aufgrund der zusätzlichen Unterstützung hierarchischer Modelle auch andere Modelle instanziieren, zum Beispiel:

// 实例化UserService类
 $User = D('User','Service');
 // 实例化UserLogic类
 $User = D('User','Logic');
Nach dem Login kopieren

复制代码

D('User','Service');
Nach dem Login kopieren
  1. Code kopieren

importiert Lib/Service/UserService.class.php und instanziiert es, was dem folgenden Code entspricht:

import('@.Service.UserService');
 $User = new UserSerivce();
Nach dem Login kopieren
  1. Verwandte Empfehlungen:

Eine kurze Diskussion über die einfache Implementierung der thinkphp5-Instanz

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der ThinkPHP-Funktionen: D-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!