Yii - Gii
Gii เป็นส่วนขยายที่ให้ตัวสร้างโค้ดบนเว็บสำหรับการสร้างโมเดลฟอร์มโมดูล CRUD และอื่น ๆ
โดยค่าเริ่มต้นเครื่องกำเนิดไฟฟ้าต่อไปนี้จะพร้อมใช้งาน -
Model Generator - สร้างคลาส ActiveRecord สำหรับตารางฐานข้อมูลที่ระบุ
CRUD Generator - สร้างคอนโทรลเลอร์และมุมมองที่ใช้การดำเนินการ CRUD (สร้างอ่านอัปเดตลบ) สำหรับรุ่นที่ระบุ
Controller Generator - สร้างคลาสคอนโทรลเลอร์ใหม่ด้วยการกระทำของคอนโทรลเลอร์หนึ่งหรือหลายตัวและมุมมองที่สอดคล้องกัน
Form Generator - สร้างไฟล์สคริปต์มุมมองที่แสดงฟอร์มเพื่อรวบรวมอินพุตสำหรับคลาสโมเดลที่ระบุ
Module Generator - สร้างรหัสโครงกระดูกที่ต้องการโดยโมดูล Yii
Extension Generator - สร้างไฟล์ที่ต้องการโดยส่วนขยาย Yii
ในการเปิดเครื่องมือสร้าง gii ให้พิมพ์ http://localhost:8080/index.php?r=gii: ในแถบที่อยู่ของเว็บเบราว์เซอร์
การเตรียม DB
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. คำสั่งนี้จะสร้างการย้ายฐานข้อมูลสำหรับจัดการฐานข้อมูลของเรา ไฟล์การย้ายข้อมูลควรปรากฏในไฟล์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ตารางที่มีฟิลด์เหล่านี้: id, ชื่อและอีเมล นอกจากนี้ยังเพิ่มผู้ใช้สาธิตเล็กน้อย
Step 5 - ภายในรูทโครงการ run ./yii migrate เพื่อใช้การย้ายข้อมูลกับฐานข้อมูล
Step 6 - ตอนนี้เราต้องสร้างแบบจำลองสำหรับไฟล์ userตาราง. เพื่อความเรียบง่ายเราจะใช้ไฟล์Giiเครื่องมือสร้างรหัส เปิดสิ่งนี้url: http://localhost:8080/index.php?r=gii. จากนั้นคลิกปุ่ม "เริ่ม" ใต้ส่วนหัว "ตัวสร้างโมเดล" กรอกชื่อตาราง (“ ผู้ใช้”) และคลาสรุ่น (“ MyUser”) คลิกปุ่ม“ ดูตัวอย่าง” และสุดท้ายคลิกปุ่ม“ สร้าง”
โมเดล MyUser ควรปรากฏในไดเร็กทอรีโมเดล