Maison > développement back-end > tutoriel php > Explication détaillée des fonctions ThinkPHP : méthode D

Explication détaillée des fonctions ThinkPHP : méthode D

不言
Libérer: 2023-03-24 22:42:02
original
2885 Les gens l'ont consulté

Cet article présente une explication détaillée des fonctions ThinkPHP : Méthode D, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Méthode D

La méthode D devrait être la méthode la plus couramment utilisée. Elle est utilisée pour instancier des classes de modèles personnalisées. Il s'agit d'une encapsulation de l'instanciation de la classe Model par le framework ThinkPHP. Elle implémente également le mode singleton et prend en charge les appels inter-projets et de groupe. format Comme suit :


D('[Project://][Group/]Model','Model layer name')La valeur de retour de la méthode est l'objet modèle instancié.

La méthode D peut détecter automatiquement la classe de modèle. Si une classe de modèle personnalisée existe, la classe de modèle personnalisée sera instanciée. Si elle n'existe pas, la classe de base du modèle sera instanciée

<.> , et en même temps, le modèle qui a été instancié ne sera pas instancié à plusieurs reprises. L'utilisation la plus courante de la méthode
Copier après la connexion
D consiste à instancier un modèle personnalisé du projet en cours, par exemple :



  1. // 实例化User模型
     $User = D(&#39;User&#39;);
    Copier après la connexion
  2. Copier le code

importera le fichier Lib/Model/UserModel.class.php sous le projet en cours, puis instanciera la classe UserModel, de sorte que le code réel puisse être équivalent à ce qui suit :

  1. import(&#39;@.Model.UserModel&#39;);
     $User = new UserModel();
    Copier après la connexion
  2. Copier le code

Mais si vous utilisez la méthode D, si la classe UserModel n'existe pas, elle appellera automatiquement

  1. new Model(&#39;User&#39;);
    Copier après la connexion
  2. Copiez le code

et n'avez pas besoin de l'instancier à nouveau lors de son deuxième appel, ce qui peut réduire une certaine quantité de surcharge d'instanciation d'objet.

La méthode D peut prendre en charge l'instanciation de modèles entre groupes et projets, par exemple :

  1. //实例化Admin项目的User模型
     D(&#39;Admin://User&#39;)
     //实例化Admin分组的User模型
     D(&#39;Admin/User&#39;)
    Copier après la connexion
  2. Copier le code

Remarque : pour implémenter le modèle d'appel inter-projets, vous devez vous assurer que les structures de répertoires des deux projets sont parallèles.


À partir de la version 3.1, grâce à la prise en charge supplémentaire des modèles hiérarchiques, la méthode D peut également instancier d'autres modèles, par exemple :

  1. // 实例化UserService类
     $User = D(&#39;User&#39;,&#39;Service&#39;);
     // 实例化UserLogic类
     $User = D(&#39;User&#39;,&#39;Logic&#39;);
    Copier après la connexion

复制代码

  1. D(&#39;User&#39;,&#39;Service&#39;);
    Copier après la connexion
  2. Copier le code

importera Lib/Service/UserService.class.php et l'instanciera, ce qui équivaut au code suivant :

  1. import(&#39;@.Service.UserService&#39;);
     $User = new UserSerivce();
    Copier après la connexion
    Recommandations associées :

    Une brève discussion sur la mise en œuvre simple de l'instance thinkphp5

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal