Ce qu'ils ont en commun, c'est qu'ils instancient des modèles, mais quelles sont leurs différences ? Jetons un coup d'oeil :
$User = D('User'); Le paramètre User entre parenthèses correspond au HomeModelUserModel.class.php du fichier de classe modèle (on suppose que le module courant est Home). Si le paramètre est « UserType », alors le fichier de classe de modèle correspondant est HomeModelUserTypeModel.class.php, ce qui signifie que le paramètre de la méthode D est le nom du modèle et est cohérent avec la définition de cas de la classe de modèle.
$User = M('User'); équivaut à $User = new ThinkModel('User'); c'est-à-dire que lorsque la méthode M est instanciée, c'est une instance directe par défaut Si nous voulons pour instancier d'autres classes de modèles publics, nous pouvons utiliser la méthode suivante : $User = M('HomeCommenModel:User','think_','db_config'); (Nous supposons que le préfixe de la table est think_ ).
Pendant le processus d'instanciation, nous utilisons souvent la méthode D et la méthode M. La différence entre les deux méthodes est que la méthode M instancie le modèle sans que l'utilisateur définisse une classe de modèle pour chaque table de données. La méthode D est introuvable. La classe de modèle définie appellera automatiquement la méthode M.
De plus, si vous souhaitez utiliser les fonctions de vérification automatique et de complétion automatique dans ThinkPHP, vous devez utiliser la méthode D.
En fait, pour parler franchement, le paramètre lors de l'instanciation de la méthode M est le nom de la table de votre base de données, tandis que la méthode D instancie la classe Model que vous avez écrite dans le dossier Model. Bien sûr, vous le souhaitez. vérifiez-le et complétez-le automatiquement, en utilisant la méthode D.
Pour plus d'articles techniques liés à ThinkPHP, veuillez visiter la colonne Tutoriel d'utilisation de ThinkPHP pour apprendre !
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!