Yii - Gii

Gii est l'extension, qui fournit un générateur de code basé sur le Web pour générer des modèles, des formulaires, des modules, des CRUD, etc.

Par défaut, les générateurs suivants sont disponibles -

  • Model Generator - Génère une classe ActiveRecord pour la table de base de données spécifiée.

  • CRUD Generator - Génère un contrôleur et des vues qui implémentent les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) pour le modèle spécifié.

  • Controller Generator - Génère une nouvelle classe de contrôleur avec une ou plusieurs actions de contrôleur et leurs vues correspondantes.

  • Form Generator - Génère un fichier de script de vue qui affiche un formulaire pour collecter l'entrée pour la classe de modèle spécifiée.

  • Module Generator - Génère le code squelette nécessaire à un module Yii.

  • Extension Generator - Génère les fichiers nécessaires à une extension Yii.

Pour ouvrir l'outil de génération gii, tapez http://localhost:8080/index.php?r=gii: dans la barre d'adresse du navigateur Web.

Préparation de la base de données

Step 1- Créez une nouvelle base de données. La base de données peut être préparée des deux manières suivantes -

  • Dans le terminal, exécutez mysql -u root –p

  • Créer une nouvelle base de données via CREATE DATABASE helloworld JEU DE CARACTÈRES utf8 COLLATE utf8_general_ci;

Step 2 - Configurer la connexion à la base de données dans le config/db.phpfichier. La configuration suivante correspond au système actuellement utilisé.

<?php
   return [
      'class' => 'yii\db\Connection',
      'dsn' => 'mysql:host=localhost;dbname=helloworld',
      'username' => 'vladimir',
      'password' => '12345',
      'charset' => 'utf8',
   ];
?>

Step 3 - Dans le dossier racine run ./yii migrate/create test_table. Cette commande créera une migration de base de données pour gérer notre base de données. Le fichier de migration doit apparaître dans lemigrations dossier de la racine du projet.

Step 4 - Modifier le fichier de migration (m160106_163154_test_table.php dans ce cas) de cette façon.

<?php
   use yii\db\Schema;
   use yii\db\Migration;
   class m160106_163154_test_table extends Migration {
      public function safeUp() {
         $this->createTable("user", [
            "id" => Schema::TYPE_PK,
            "name" => Schema::TYPE_STRING,
            "email" => Schema::TYPE_STRING,
         ]);
         $this->batchInsert("user", ["name", "email"], [
            ["User1", "[email protected]"],
            ["User2", "[email protected]"],
            ["User3", "[email protected]"],
            ["User4", "[email protected]"],
            ["User5", "[email protected]"],
            ["User6", "[email protected]"],
            ["User7", "[email protected]"],
            ["User8", "[email protected]"],
            ["User9", "[email protected]"],
            ["User10", "[email protected]"],
            ["User11", "[email protected]"],
         ]);
      }
      public function safeDown() {
         $this->dropTable('user');
      }
   }
?>

La migration ci-dessus crée un usertable avec ces champs: id, nom et e-mail. Il ajoute également quelques utilisateurs de démonstration.

Step 5 - À l'intérieur de la racine du projet run ./yii migrate pour appliquer la migration à la base de données.

Step 6 - Maintenant, nous devons créer un modèle pour notre usertable. Par souci de simplicité, nous allons utiliser leGiioutil de génération de code. Ouvrez ceciurl: http://localhost:8080/index.php?r=gii. Ensuite, cliquez sur le bouton «Démarrer» sous l'en-tête «Générateur de modèle». Remplissez le nom de la table («utilisateur») et la classe de modèle («Mon utilisateur»), cliquez sur le bouton «Aperçu» et enfin, cliquez sur le bouton «Générer».

Le modèle MyUser doit apparaître dans le répertoire des modèles.