Maison  >  Article  >  cadre php  >  Quelle est la valeur de retour de la méthode m dans thinkphp

Quelle est la valeur de retour de la méthode m dans thinkphp

WBOY
WBOYoriginal
2022-04-25 10:25:372486parcourir

Dans thinkphp, la valeur de retour de la méthode m est un objet Model ; la méthode m peut être comprise comme l'abréviation de "$m=new Model("user")", et le format d'appel est "M('[ Nom du modèle de base :] nom du modèle','préfixe de la table de données','informations de connexion à la base de données')", sa fonction est d'instancier une classe de modèle de base.

Quelle est la valeur de retour de la méthode m dans thinkphp

L'environnement d'exploitation de cet article : système Windows 10, ThinkPHP version 5, ordinateur Dell G3.

Quelle est la valeur de retour de la méthode m dans thinkphp ?

La méthode M peut être considérée comme l'abréviation de $m=new Model("user"), c'est-à-dire que M() renvoie un objet Model

La méthode M est utilisée pour instancier une classe Model de base, le format d'appel de la méthode

M :

M('[基础模型名:]模型名','数据表前缀','数据库连接信息')

Quelles sont les utilisations spécifiques de la méthode M :

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

.

Lorsqu'aucun modèle n'est défini, nous pouvons utiliser la méthode suivante pour instancier une classe de modèle pour effectuer des opérations :

//实例化User模型
$User = M('User');
//执行其他的数据操作
$User->select();

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 plusieurs projets. appels. 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');

est en fait équivalent à :

$User = new Model('User');

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');

L'utilisation modifiée est en fait équivalente à :

$User = new CommonModel('User');

É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.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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:
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