Maison cadre php PensezPHP Comment utiliser la méthode m de thinkphp

Comment utiliser la méthode m de thinkphp

Dec 21, 2021 am 11:49 AM
thinkphp

Dans thinkphp, la méthode M() est utilisée pour instancier une classe de modèle de base. Après l'instanciation, seules les méthodes de la classe de modèle de base (la classe par défaut est la classe Model) peuvent être appelées. La syntaxe "M('[Modèle de base. name:] nom du modèle','préfixe de la table de données','informations de connexion à la base de données')".

Comment utiliser la méthode m de thinkphp

L'environnement d'exploitation de ce tutoriel : système Windows 7, version thinkphp v5.1, ordinateur Dell G3.

La méthode M est utilisée pour instancier une classe de modèle de base. La différence avec la méthode D est la suivante :

  • ne nécessite pas de classes de modèle personnalisées, réduit le chargement des E/S et offre de meilleures performances ; appelé après les méthodes d'instanciation dans la classe model (la classe par défaut est la classe Model);

  • Vous pouvez spécifier le préfixe de la table, la base de données et les informations de connexion à la base de données lors de l'instanciation

  • La puissance de la méthode D se reflète dans le modèle personnalisé que vous encapsulez Quelle que soit la puissance de la classe, à mesure que la classe de modèle de base de la nouvelle version du framework ThinkPHP devient de plus en plus puissante, la méthode M devient de plus en plus pratique que la méthode D.

  • Le format d'appel de la méthode M :
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
Copier après la connexion

Jetons un œil aux utilisations spécifiques de la méthode M :

1 Instancier la classe du modèle de base (Model)

Lorsqu'aucun modèle n'est défini, nous pouvons. utilisez la méthode suivante La méthode instancie une classe de modèle pour l'opération :

//实例化User模型
$User = M('User');
 //执行其他的数据操作
$User->select();
Copier après la connexion
Cette méthode est la plus simple et la plus efficace, car elle n'a pas besoin de définir de classes de modèle, elle prend donc en charge les appels inter-projets. L'inconvénient est également qu'il n'existe pas de classe de modèle personnalisée, de sorte que la logique métier appropriée ne peut pas être écrite et que seules les opérations CURD de base peuvent être effectuées.

$User = M('User');
Copier après la connexion

est en fait équivalent à :

$User = new Model('User');
Copier après la connexion

signifie faire fonctionner la table think_user. La méthode M possède également une fonction singleton comme la méthode D, et elle ne sera pas instanciée à plusieurs reprises si elle est appelée plusieurs fois. Le paramètre de nom de modèle de la méthode M sera automatiquement converti en minuscules lors de la conversion en table de données, ce qui signifie que la spécification de dénomination de table de données de ThinkPHP est dans un format entièrement en minuscules.

2. Instancier d'autres classes de modèles publiques

La première façon d'instancier est qu'il n'y a pas de définition de la classe de modèle, il est donc difficile d'encapsuler certaines méthodes logiques supplémentaires, mais dans la plupart des cas, vous devrez peut-être simplement le faire. étendez une logique commune, vous pouvez alors essayer la méthode suivante.

$User = M('CommonModel:User');
Copier après la connexion
L'utilisation modifiée est en fait équivalente à :

$User = new CommonModel('User');
Copier après la connexion

Étant donné que les classes de modèles du système peuvent être automatiquement chargées, nous n'avons pas besoin d'importer manuellement la bibliothèque de classes avant l'instanciation. La classe de modèle CommonModel doit hériter de Model. Nous pouvons définir certaines méthodes logiques communes dans la classe CommonModel, ce qui élimine le besoin de définir des classes de modèles spécifiques pour chaque table de données. Si votre projet contient déjà plus de 100 tables de données, la plupart d'entre elles sont basiques. Pour les opérations CURD, seuls certains modèles en ont. une logique métier complexe qui doit être encapsulée, donc la combinaison de la première méthode et de la deuxième méthode est un bon choix.

3. Transmettez le préfixe de la table, la base de données et d'autres informations

La méthode M a trois paramètres Le premier paramètre est le nom du modèle (peut inclure des classes de modèles de base et des bases de données), et le deuxième paramètre est utilisé pour définir le. Préfixe de la table de données (laissez-le vide pour prendre le préfixe de table de la configuration actuelle du projet), le troisième paramètre est utilisé pour définir les informations de connexion à la base de données actuellement utilisées (laissez-le vide pour prendre les informations de connexion à la base de données de la configuration actuelle du projet), par exemple :

$User = M('db2.User','think_');
Copier après la connexion
signifie instancier la classe Model Model et exploiter la table think_user dans la base de données db2.

Si le deuxième paramètre est laissé vide ou n'est pas transmis, cela signifie utiliser le préfixe de la table de données dans la configuration actuelle du projet. Si la table de données en cours d'exploitation n'a pas de préfixe de table, vous pouvez utiliser :

$User = M('db1.User',null);
Copier après la connexion

signifie instancier le modèle. classe de modèle et table utilisateur DB1 opérationnelle dans la base de données.

Si la base de données que vous exploitez nécessite différents comptes d'utilisateurs, vous pouvez transmettre les informations de connexion de la base de données, par exemple :

$User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp');
Copier après la connexion

signifie que la classe de modèle de base utilise Model, puis exploitez la table think_user, utilisez le compte user_a pour connectez-vous à la base de données, la base de données d'exploitation est thinkphp.

Le troisième paramètre d'informations de connexion peut utiliser la configuration DSN ou la configuration du tableau, et peut même prendre en charge les paramètres de configuration.

Par exemple, si vous configurez :

'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp';
Copier après la connexion

dans le fichier de configuration du projet, vous pouvez utiliser :

$User = M('User','think_','DB_CONFIG');
Copier après la connexion

Les classes de modèles de base et les bases de données peuvent être utilisées ensemble, par exemple :

$User = M('CommonModel:db2.User','think_');
Copier après la connexion

Si vous souhaitez instancier un modèle hiérarchique, En utilisant la méthode de classe de modèle publique, nous pouvons utiliser :

M('UserLogic:User');
Copier après la connexion

pour instancier UserLogic, bien que cela n'ait pas beaucoup de sens, car la même fonction peut être obtenue avec

D('User','Logic');
Copier après la connexion

.

【Recommandation de tutoriel connexe :

thinkphp framework

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Lequel est le meilleur, Laravel ou thinkphp ? Lequel est le meilleur, Laravel ou thinkphp ? Apr 09, 2024 pm 03:18 PM

Comparaison des performances des frameworks Laravel et ThinkPHP : ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

Suggestions de développement : Comment utiliser le framework ThinkPHP pour implémenter des tâches asynchrones Suggestions de développement : Comment utiliser le framework ThinkPHP pour implémenter des tâches asynchrones Nov 22, 2023 pm 12:01 PM

"Suggestions de développement : comment utiliser le framework ThinkPHP pour implémenter des tâches asynchrones" Avec le développement rapide de la technologie Internet, les applications Web ont des exigences de plus en plus élevées pour gérer un grand nombre de requêtes simultanées et une logique métier complexe. Afin d'améliorer les performances du système et l'expérience utilisateur, les développeurs envisagent souvent d'utiliser des tâches asynchrones pour effectuer certaines opérations chronophages, telles que l'envoi d'e-mails, le traitement des téléchargements de fichiers, la génération de rapports, etc. Dans le domaine de PHP, le framework ThinkPHP, en tant que framework de développement populaire, offre des moyens pratiques d'implémenter des tâches asynchrones.

Comment installer thinkphp Comment installer thinkphp Apr 09, 2024 pm 05:42 PM

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

Quelles sont les performances de thinkphp ? Quelles sont les performances de thinkphp ? Apr 09, 2024 pm 05:24 PM

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Nov 22, 2023 pm 05:18 PM

Suggestions de développement : Comment utiliser le framework ThinkPHP pour le développement d'API Avec le développement continu d'Internet, l'importance de l'API (Application Programming Interface) est devenue de plus en plus importante. L'API est un pont de communication entre différentes applications. Elle peut réaliser le partage de données, l'appel de fonctions et d'autres opérations, et offre aux développeurs une méthode de développement relativement simple et rapide. En tant qu'excellent framework de développement PHP, le framework ThinkPHP est efficace, évolutif et facile à utiliser.

See all articles