Maison  >  Article  >  développement back-end  >  Comment utiliser le modèle MVC en PHP ?

Comment utiliser le modèle MVC en PHP ?

王林
王林original
2023-05-12 08:33:231612parcourir

Alors que la demande de développement de logiciels continue d'augmenter, le modèle de développement de logiciels a également subi de grands changements. Parmi eux, le modèle MVC est un modèle unique qui divise l'application en trois composants : modèle, vue et contrôleur pour améliorer la fiabilité et la maintenabilité du développement et de la maintenance.

Dans cet article, nous discuterons du concept de modèle MVC et présenterons comment utiliser le modèle MVC en PHP pour le développement d'applications Web.

Qu'est-ce que le modèle MVC ?

MVC est un modèle architectural couramment utilisé en génie logiciel qui vise à rendre l'organisation et le développement d'applications logicielles plus claires et maintenables. Le modèle MVC divise l'application en trois composants :

  • Modèle - Couche de données. Gérer les données et la logique des applications.
  • Affichage - Interface utilisateur. Afficher les données et interagir avec les utilisateurs.
  • Contrôleur - couche de logique métier. Agit en tant que coordinateur entre les modèles et les vues, gère les demandes des utilisateurs, décide quel modèle doit effectuer des opérations logiques et renvoie finalement les réponses à la vue.

Les principaux avantages du modèle MVC incluent :

  • Réutilisabilité : chaque composant peut être réutilisé en tant que module indépendant.
  • Maintenabilité : Rendre le code plus clair et plus facile à modifier.
  • Évolutivité : permet d'ajouter ou de supprimer des composants pour répondre à des besoins spécifiques.
  • Testabilité : séparer les différentes parties de l'application facilite la réalisation de tests unitaires et d'intégration.

Développement d'applications Web PHP à l'aide d'un modèle MVC

Voyons maintenant comment développer des applications Web à l'aide d'un modèle MVC en PHP. Oui, nous pouvons appliquer le modèle MVC à PHP ! La pile technologique utilisée dans le développement Web PHP est très riche et l'utilisation du modèle MVC est devenue très courante. Vous trouverez ci-dessous quelques bonnes pratiques pour développer des applications Web PHP à l'aide du modèle MVC.

  1. Définir la structure des fichiers

Lors du développement d'applications Web PHP à l'aide du modèle MVC, une étape très critique consiste à définir correctement la structure des fichiers. Il existe une structure de fichiers commune, la suivante :

/app
  /controllers
  /models
  /views
/config
  /config.php
  /database.php
  /routes.php
/public
  /css
  /js
  /img
  index.php

Expliquons cette structure de fichiers un par un :

  • app : code principal de l'application.
  • application/contrôleurs : Contrôleurs.
  • app/models : modèles.
  • app/views : vues.
  • config : Paramètres et configuration de l'application.
  • config/config.php : Configuration globale de l'application.
  • config/database.php : Paramètres de la base de données.
  • config/routes.php : Logique de routage du programme.
  • public : fichiers en accès public.
  • public/css : feuille de style CSS.
  • public/js : fichier JavaScript.
  • public/img : fichier image.
  • index.php : entrée d'accès HTTP.
  1. Création de contrôleurs

Les contrôleurs sont l'un des composants importants du modèle MVC. Il s'agit de la couche de logique métier de l'application et est responsable du traitement des demandes des utilisateurs et de la récupération des données du modèle. Voici un exemple de contrôleur :

<?php 
// File: app/controllers/UserController.php
 
class UserController {
    public function index() {
        // Display a list of users
    }
 
    public function show($userId) {
        // Display the user with the given ID
    }
 
    public function create() {
        // Display a form to create a new user
    }
 
    public function store() {
        // Store the new user in the database
    }
 
    public function edit($userId) {
        // Display a form to edit an existing user
    }
 
    public function update($userId) {
        // Update the user in the database
    }
 
    public function delete($userId) {
        // Remove the user from the database
    }
}

Dans l'exemple ci-dessus, nous avons créé une classe appelée UserController. Cette classe contient de nombreuses méthodes de logique métier pour gérer diverses requêtes des utilisateurs, telles que l'indexation, l'affichage, la création, le stockage, la modification, la mise à jour, la suppression, etc. Ces méthodes déterminent les actions que l'utilisateur doit entreprendre lorsqu'il demande ce contrôleur.

  1. Définir le modèle

Les classes de modèles sont utilisées pour traiter les données et fournir une interaction avec la base de données. Ils stockent la logique métier et l’état de l’application. En PHP, nous pouvons utiliser le mode d'enregistrement actif pour créer des modèles. Voici un exemple de modèle :

<?php 
// File: app/models/UserModel.php
 
class UserModel {
    public function all() {
        // Return all users from the database
    }
 
    public function find($userId) {
        // Find the user with the given ID
    }
 
    public function create($userAttributes) {
        // Create a new user with the given attributes
    }
 
    public function update($userId, $userAttributes) {
        // Update the user with the given ID and attributes
    }
 
    public function delete($userId) {
        // Delete the user with the given ID
    }
}

Dans l'exemple ci-dessus, nous avons créé une classe appelée UserModel. Cette classe contient des méthodes d'enregistrement actives qui opèrent sur la table "Utilisateurs", telles que tous, rechercher, créer, mettre à jour, supprimer, etc. Ces méthodes incluent diverses requêtes qui exécutent diverses opérations de base de données. De cette manière, le modèle encapsule les requêtes de bases de données complexes dans une classe facile à traiter et à comprendre.

  1. Créer des vues

Les vues sont le troisième composant du modèle MVC. Ils constituent l'interface utilisateur, restituent les données et affichent l'interface à l'utilisateur. En PHP, nous créons généralement des vues en utilisant HTML, CSS et JavaScript. Voici un exemple de vue :

<!-- File: app/views/user/index.php -->
 
<h1>User Listing</h1>
 
<?php foreach ($users as $user): ?>
    <h2><?= $user->name ?></h2>
    <p><?= $user->email ?></p>
<?php endforeach ?>

Dans l'exemple ci-dessus, nous avons créé une vue simple pour la liste des utilisateurs. La vue parcourt l'objet $users transmis par le modèle et affiche le nom et l'adresse e-mail de l'utilisateur.

  1. Définir des itinéraires

Les itinéraires sont nécessaires, ils gèrent les demandes des utilisateurs et envoient les demandes au contrôleur et aux méthodes d'action appropriées. En PHP, les routes sont généralement définies dans des fichiers de routes distincts. Cela sépare la logique de routage du fichier d'application principal. Voici un exemple de route :

<?php 
// File: config/routes.php
 
$route = new Router();
 
$route->get('/user', 'UserController@index');
$route->get('/user/:id', 'UserController@show');
$route->post('/user', 'UserController@store');
$route->put('/user/:id', 'UserController@update');
$route->delete('/user/:id', 'UserController@delete');

Dans l'exemple ci-dessus, nous créons une variable appelée route et instancions un nouveau routeur. Nous avons défini cinq règles de routage, chaque règle correspondant à sa méthode correspondante. À l'aide d'un routeur, une requête HTTP est acheminée en faisant correspondre les règles de routage pour déterminer l'emplacement du contrôleur et de la méthode d'action de la requête.

  1. Exécutez l'application

Lorsque tous les fichiers sont prêts, nous pouvons maintenant lancer l'application et voir si nous travaillons correctement. Dans cet exemple, nous pouvons utiliser le serveur Web intégré de PHP pour fournir des raccourcis pour le développement, comme cette commande :

$ php -S localhost:8000 -t public/

当你访问 http://localhost:8000/user 时,你将会看到我们在视图中定义的用户列表。

总结

实现MVC模式需要考虑许多因素,包括应用程序的功能,代码的可用性和开发人员的经验水平。在 PHP 中使用MVC模式提供了更大的可伸缩性,可维护性和可重用性。在实践中,我们可以结合使用像 Laravel、Symfony、CakePHP、Zend Framework 2等PHP框架来加快应用程序开发。同时,我们还可以使用现代开发工具,如 Composer、Git、PHPUnit等,来协助我们更轻松地使用这些最新的MVC模式。

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