Yii - जीआईआई

जीआईआई विस्तार है, जो मॉडल, फॉर्म, मॉड्यूल, सीआरयूडी, और इसके आगे के लिए एक वेब-आधारित कोड जनरेटर प्रदान करता है।

डिफ़ॉल्ट रूप से, निम्न जनरेटर उपलब्ध हैं -

  • Model Generator - निर्दिष्ट डेटाबेस तालिका के लिए एक ActiveRecord वर्ग उत्पन्न करता है।

  • CRUD Generator - एक नियंत्रक और विचार उत्पन्न करता है जो निर्दिष्ट मॉडल के लिए CRUD (क्रिएट, रीड, अपडेट, डिलीट) परिचालनों को लागू करता है।

  • Controller Generator - एक या कई नियंत्रक क्रियाओं और उनके संगत विचारों के साथ एक नया नियंत्रक वर्ग उत्पन्न करता है।

  • Form Generator - एक दृश्य स्क्रिप्ट फ़ाइल बनाता है जो निर्दिष्ट मॉडल वर्ग के लिए इनपुट एकत्र करने के लिए एक फॉर्म प्रदर्शित करता है।

  • Module Generator - एक Yii मॉड्यूल द्वारा आवश्यक कंकाल कोड उत्पन्न करता है।

  • Extension Generator - Yii एक्सटेंशन के लिए जरूरी फाइलें जेनरेट करें।

Gii जनरेशन टूल खोलने के लिए, टाइप करें http://localhost:8080/index.php?r=gii: वेब ब्राउजर के एड्रेस बार में।

डीबी की तैयारी

Step 1- एक नया डेटाबेस बनाएँ। डेटाबेस को निम्नलिखित दो तरीकों से तैयार किया जा सकता है -

  • टर्मिनल में mysql -u root -p चलाएं

  • के माध्यम से एक नया डेटाबेस बनाएँ CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;

Step 2 - में डेटाबेस कनेक्शन को कॉन्फ़िगर करें config/db.phpफ़ाइल। वर्तमान में उपयोग किए गए सिस्टम के लिए निम्न कॉन्फ़िगरेशन है।

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

Step 3 - रूट फोल्डर के अंदर run ./yii migrate/create test_table। यह कमांड हमारे DB को प्रबंधित करने के लिए एक डेटाबेस माइग्रेशन बनाएगी। माइग्रेशन फ़ाइल में दिखाई देना चाहिएmigrations प्रोजेक्ट रूट का फ़ोल्डर।

Step 4 - माइग्रेशन फ़ाइल संशोधित करें (m160106_163154_test_table.php इस मामले में) इस तरह से।

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

उपरोक्त प्रवासन एक बनाता है userइन फ़ील्ड्स के साथ तालिका: आईडी, नाम और ईमेल। यह कुछ डेमो उपयोगकर्ताओं को भी जोड़ता है।

Step 5 - प्रोजेक्ट रूट के अंदर run ./yii migrate डेटाबेस में माइग्रेशन लागू करने के लिए।

Step 6 - अब, हमें अपने लिए एक मॉडल बनाने की आवश्यकता है userतालिका। सादगी के लिए, हम उपयोग करने जा रहे हैंGiiकोड जनरेशन टूल। इसे खोलोurl: http://localhost:8080/index.php?r=gii। फिर, "मॉडल जनरेटर" हेडर के तहत "प्रारंभ" बटन पर क्लिक करें। तालिका नाम ("उपयोगकर्ता") और मॉडल वर्ग ("MyUser") भरें, "पूर्वावलोकन" बटन पर क्लिक करें और अंत में, "जनरेट" बटन पर क्लिक करें।

MyUser मॉडल को मॉडल निर्देशिका में दिखाई देना चाहिए।