Maison >développement back-end >tutoriel php >Explication détaillée des fonctions ThinkPHP : méthode D
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
D('[Project://][Group/]Model','Model layer name')La valeur de retour de la méthode est l'objet modèle instancié.
实D consiste à instancier un modèle personnalisé du projet en cours, par exemple :
// 实例化User模型 $User = D('User');
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 :
import('@.Model.UserModel'); $User = new UserModel();
Mais si vous utilisez la méthode D, si la classe UserModel n'existe pas, elle appellera automatiquement
new Model('User');
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 :
//实例化Admin项目的User模型 D('Admin://User') //实例化Admin分组的User模型 D('Admin/User')
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 :
// 实例化UserService类 $User = D('User','Service'); // 实例化UserLogic类 $User = D('User','Logic');
复制代码
D('User','Service');
importera Lib/Service/UserService.class.php et l'instanciera, ce qui équivaut au code suivant :
import('@.Service.UserService'); $User = new UserSerivce();
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!