La différence entre la méthode m et la méthode d dans thinkphp : 1. La méthode m n'a pas besoin de créer un fichier de classe de modèle, tandis que la méthode d doit créer une classe de modèle 2. La méthode d instanciera un modèle spécifique ; classe, et la méthode m n’a pas besoin d’être instanciée. Chargez des classes de modèle spécifiques.
L'environnement d'exploitation de cet article : système Windows 10, version thinkphp v5.1, ordinateur Dell G3.
Quelle est la différence entre la méthode m et la méthode d dans thinkphp ?
La méthode D peut détecter automatiquement la classe de modèle personnalisée. Si une classe de modèle personnalisée existe, la classe de modèle personnalisée sera instanciée. , il sera instancié. Classe de base ThinkModel du système, et en même temps, le modèle qui a été instancié ne sera pas instancié à plusieurs reprises.
Lorsque la méthode D instancie une classe de modèle, elle instancie généralement une classe de modèle spécifique. Si vous effectuez uniquement des opérations CURD de base sur la table de données, si vous utilisez la méthode M pour instancier, il n'est pas nécessaire de charger une classe de modèle spécifique. . , donc les performances seront plus élevées.
Dans ThinkPHP, la méthode M et la méthode D sont utilisées pour instancier une classe de modèle. La méthode M est utilisée pour instancier efficacement une classe de modèle de base, tandis que la méthode D est utilisée pour instancier une classe de modèle définie par l'utilisateur.
Utilisez la méthode m
Si la situation suivante se produit, veuillez envisager d'utiliser la méthode M :
Lorsque vous effectuez des opérations CURD simples sur des tables de données sans logique métier complexe, uniquement lorsque les tables individuelles ont une logique métier plus complexe, utilisez la méthode M est utilisé en combinaison avec la classe CommonModel instanciée. La méthode M peut même simplement opérer sur la table de données correspondant au nom de la table de paramètres :
$User = M('User');
. Veuillez envisager d'utiliser la méthode D si la situation suivante se produit :
Vous devez utiliser certaines fonctions avancées dans le modèle ThinkPHP telles que la fonction de vérification automatique (implémentée dans la méthode create()), les modèles associés et d'autres logiques métier relativement complexes. et impliquent de nombreuses tables La logique métier est définie dans une classe de modèle personnalisée (sous le répertoire Lib/Model), et vous souhaitez implémenter cette logique métier dans l'opération
De plus, la méthode D ne prend pas en charge les appels inter-projets, vous devez utiliser :
$User = D( 'User', 'Admin'); // Instancier le modèle User sous le projet Admin $User = D('Admin.User'); // Le regroupement de projets est activé
Conseils
Une fois le regroupement de projets activé, les classes modèles ne correspondent pas nécessairement aux regroupements de projets. Les classes de modèles partagées entre plusieurs groupes de projets sont placées dans le répertoire Model et peuvent être instanciées directement à l'aide de D('ModelName'). Et D('User.UserInfo') ne signifie pas que User doit être un groupe de projet, ou il peut simplement s'agir d'un répertoire de classification de fichiers sous Model. D('User.UserInfo') instancie le modèle UserInfo dans le répertoire User. gentil.
Résumé
La méthode M et la méthode D peuvent être utilisées directement lorsque le fichier de classe modèle n'existe pas, mais évidemment la méthode M est plus efficace mais pour utiliser la logique métier dans la classe modèle, vous devez utiliser le Méthode D.
Une métaphore plus vivante est la suivante : la méthode M est comme un ordinateur qui vient d'installer le système d'exploitation et ne peut utiliser que certaines fonctions de base ; la méthode D est comme l'installation de certaines applications telles qu'Office et QQ sur le système installé. Le logiciel est plus puissant. , et l'ensemble de l'ordinateur fonctionne plus lentement.
Ce qui précède est un résumé des différences entre la méthode M et la méthode D. La méthode M et la méthode D doivent être sélectionnées en fonction de la situation réelle.
Apprentissage recommandé : "
Les 10 derniers didacticiels vidéo thinkphpCe 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!