Dans ce chapitre, nous expliquons principalement la présentation de base de ThinkPHP et de la structure MVC couramment utilisée dans le développement de serveurs Web.
1. Fichier d'entrée
Entrez l'URL http://localhost/tp5_demo/public/
dans le navigateur pour y accéder. le fichier /tp5_demo/public/index.php dans le dossier htdocs, pourquoi est-ce décomposé étape par étape ?
Lorsque nous entrons dans http://localhost, Apache accédera au chemin DocumentRoot spécifié sous son fichier httpd.conf. Dans le cas de Zhao Tongxie, il s'agit de E:/xampp7/htdocs.
Épisser /tp5_demo/public à la fin signifie accéder au dossier /tp5_demo/public sous le chemin DocumentRoot.
Alors pourquoi le fichier index.php est-il finalement localisé ? En effet, il existe un autre attribut dans le fichier httpd.conf qui définit DirectoryIndex, qui définit index.php, index.html et d'autres fichiers comme fichiers d'entrée. (Quoi ? Pourquoi ne pensez-vous pas qu'il y a une image ? Regardez vous-même votre fichier httpd.conf)
Dans ThinkPHP, si l'adresse d'accès n'est pas spécifiée, elle sera acheminée vers le contrôleur d'index sous le module d'index par défaut.
C'est-à-dire, entrez
http://localhost/tp5_demo/public/
http://localhost/tp5_demo/public/index/index/index
Cela a le même effet.
2. Contrôleur (Contrôleur)
Dans l'architecture MVC, le contrôleur n'est généralement responsable que des fonctions suivantes :
Vérification des paramètres
Service d'appel
Modèle d'appel
Résultats de sortie
Pour créer un contrôleur dans le framework ThinkPHP, il vous suffit de créer une nouvelle classe dans le module contrôleur dans le module correspondant.
Comme le montre l'image ci-dessus, le contrôleur d'index est établi dans le module d'index.
La méthode index() sous le contrôleur Index représente une action, qui est également une interface dans le développement d'API et peut être liée via l'URL de routage du cadre de configuration.
Il convient de noter qu'il ne doit pas y avoir trop d'opérations logiques dans Action. L'action ne doit être qu'un appelant de la couche modèle (Modèle) et de la couche vue (View). L'opération logique réelle doit être placée. Accédez à la couche modèle pour le traitement, et une logique plus complexe doit être placée dans la couche service (Service) pour le traitement. Cette idée en couches est ce qu'on appelle la programmation orientée aspect (AOP).
L'avantage est que lorsqu'une opération courante (telle que la connexion d'un utilisateur, le calcul du montant de l'activité) change, il vous suffit de modifier le code dans le modèle, et cela n'affectera pas le code du contrôleur qui appelle le modèle.
Si vous mettez toute la logique dans le contrôleur, alors une fois que vous devez modifier le code, vous devez modifier tout le code du contrôleur associé.
J'ai vu des projets qui mettent toute la logique dans le contrôleur et n'utilisent pas du tout de modèles. Il n'est pas nécessaire de considérer la superposition ou l'itération lors de l'écriture, ce qui est très rafraîchissant.
3. Modèle
La définition du modèle signifie généralement qu'une classe de modèle correspond à une table de données.
La plupart des opérations logiques dans le développement côté serveur consistent en fait à sélectionner/créer/mettre à jour/supprimer diverses tables de données.
Quelques opérations logiques simples, comme obtenir les données de l'article avec l'ID 75. Il doit être encapsulé en tant que méthode dans le modèle et appelé au niveau de la couche contrôleur.
Le framework ThinkPHP fournit de nombreuses fonctions pratiques pour les modèles, telles que : des champs cachés, des modificateurs de champ, des requêtes de pagination et la définition de relations.
Nous présenterons le modèle et ces fonctions en détail plus tard.
4. Vue
La couche de vue génère le code HTML correspondant.
Vous pouvez utiliser des moteurs de modèles (tels que le propre moteur de ThinkPHP, le moteur Smarty) dans le framework pour effectuer une substitution de variables.
Mais désormais, le côté serveur est plus populaire dans le développement d'API. Les données sont transmises via l'API pour interagir avec le front-end, et les vues sont rarement utilisées pour le rendu des pages.
5. Routage
De nombreux frameworks PHP ont une fonction de routage, et le routage est même ajouté aux frameworks front-end tels que Vue et React.
Le routage est en fait un mappage entre notre URL d'accès et l'action dans le contrôleur, comme mentionné ci-dessus :
http://localhost/tp5_demo/public/index/index/ index
consiste à accéder à la méthode index() sous le contrôleur Index dans le module index.
Nous pouvons essayer et ajouter la méthode hello() au contrôleur d'index :
6. Résumé
Dans ce chapitre nous présentons Comprendre les utilisations de base des trois composants majeurs de MVC qui sont désormais populaires, ainsi que le concept de routage.
Les enfants doivent avoir à peu près maîtrisé le workflow d'une interface back-end, c'est-à-dire : Routage->Contrôleur->Modèle (->View).
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!