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 2 | $User = D('User');
|
Copier après la connexion
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 2 | import('@.Model.UserModel');
$User = new UserModel();
|
Copier après la connexion
Copier le code
Mais si vous utilisez la méthode D, si la classe UserModel n'existe pas, elle appellera automatiquement
1 | new Model('User');
|
Copier après la connexion
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 2 3 4 | D('Admin:
D('Admin/User')
|
Copier après la connexion
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 2 3 4 | $User = D('User','Service');
$User = D('User','Logic');
|
Copier après la connexion
复制代码
1 | D('User','Service');
|
Copier après la connexion
Copier le code
importera Lib/Service/UserService.class.php et l'instanciera, ce qui équivaut au code suivant :
-
1 2 | import('@.Service.UserService');
$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!