Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der ThinkPHP-Funktionen: D-Methode

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

不言
不言Original
2018-04-27 14:45:042840Durchsuche

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

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');
  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();
  1. Code kopieren

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

new Model('User');
  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')
  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');

复制代码

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

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

import('@.Service.UserService');
 $User = new UserSerivce();
  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!

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