Comment fonctionne MVC dans Codeignitor ?

| | | | | | | | | | | | | | | | | | | | |
Contrôleur :Comme son nom l`indique, il contrôle la relation entre les vues et les modèles. L`URL entière fonctionne dans CodeIgniter avec le nom du contrôleur. Examinons maintenant certaines des choses dont nous devons tenir compte lors de la création d`un nouveau contrôleur.
  • Lorsque nous créons une classe dans un contrôleur, le nom de la classe doit être le même que le nom du fichier, et il doit commencer par un lettre majuscule, sinon nous aurons une erreur lors de l`exécution de notre projet.
  • Une fois la classe déclarée, nous héritons de toutes les propriétés du CI_Controller avec les mots-clés extend pour utiliser toutes les propriétés du CI_Controller (voir < b>PHP | Terminologie commune en POO ). Il n`y aura pas de problème si nous n`étendons pas CI_Controller, mais dans ce cas nous ne pourrons accéder à aucune propriété de CI_Controller.
  • Chaque contrôleur a un index de fonction par défaut qui démarre automatiquement lorsque nous définissons uniquement le nom du contrôleur dans l`URL. Pour le reste de la fonctionnalité, nous devons le mentionner manuellement après le nom du contrôleur dans l`URL.
  • Modèle : Le modèle est responsable de la gestion des requêtes liées au backend. Toutes les requêtes ou fonctions backend comme les bases de données, les API que nous écrivons dans les modèles. Examinons maintenant certaines des choses dont nous devons tenir compte lors de la création d`un nouveau modèle.
  • Lorsque nous créons une classe dans un modèle, le nom de la classe doit être le même que le nom du fichier, et il doit commencer par une lettre majuscule , sinon nous obtenons une erreur lors de l`exécution de notre projet.
  • Une fois la classe déclarée, nous héritons de toutes les propriétés CI_Model avec les mots-clés extend pour utiliser toutes les propriétés CI_Model.
  • Lorsque nous créez une fonction dans le modèle, assurez-vous qu`elle doit être publique, sinon elle ne sera pas disponible dans le contrôleur.
  • Pour accéder au modèle dans le contrôleur, il doit d`abord être chargé, après avoir chargé le modèle , nous pouvons appeler la fonction de ce modèle particulier dans le contrôleur. Ci-dessous se trouve la ligne pour charger le modèle dans le contrôleur.
    $this-> load-> model (`post_model`); 
    Ci-dessous se trouve la ligne pour charger le modèle dans autoload.php, qui est disponible dans le dossier config. Si nous avons besoin d`un modèle global dans notre projet, utilisez autoload.php.
    $autoload [`model`] = array (` post_model`); 
  • Présentation :La présentation fait partie de la présentation dans le concept MVC. Tout ce qui est côté client comme HTML, CSS ou JavaScript utilisé dans le fichier sera affiché à l`utilisateur via la partie vue. L`aperçu du fichier est enregistré dans le dossier application / view. Lorsque le modèle récupère les données du backend et les renvoie au contrôleur, le contrôleur transmet toutes les données dans la page d`affichage. Cela dit, nous verrons un exemple du fonctionnement de MVC dans CI.Exemple : Fichier Controller :Créez un fichier users.phpdans le dossier Controller et écrivez le code ci-dessous. defined ( `BASEPATH` ) OU exit ( `Aucun accès direct au script autorisé` ); classe Utilisateurs extends CI_Controller { public fonction __ construct() { parent ::__ construct() ; // charger le modèle $this -> load-> model ( `usermodel` ); } public fonction index() { // accès à la méthode getUsers depuis usermodel $data [ `users` ] = $this -> usermodel-> getUsers(); $this -> load -> view ( `liste_utilisateurs` , $data ); }
    }
    ?>
    Fichier modèle :créer un fichier usermodel.phpdans le dossier Model et notez le code suivant.class Usermodel extends CI_Model { public fonction getUsers() { // Ici, nous pouvons également exécuter des requêtes de base de données et renvoyer le résultat return [ [ `firstname` = > ` Premier utilisateur` , ` nom` = > ` Prénom` ], [ ` firstname` = > `Second User` , `lastname` = > ` Prénom` ], [ `prénom` = > ` Troisième utilisateur` , `nom` = > `Troisième nom` ], ] ; }
    }
    ?>
    Afficher le fichier :créez le fichier users_list.phpdans le dossier Afficher et notez le code suivant. "fr" > < title > Liste d`utilisateurs < / tête > < corps > " bordure : 1px solide ; "> foreach ( $ utilisateurs as $row ) {?>
    " bordure : 1px solide ; " > echo $row [ `prénom` ] ; > < / td > " bordure : 1px solide ; " > echo $row [ `nom de famille` ] ; > < / td >
    < / body >
    < / html >
    Exécutez maintenant http: // localhost / ci_tutorial /index.php/Usersdans le navigateur.
    Quitter :