
Gii در فریمورک Yii
Gii یک افزونه است که تولیدکننده ی کدهای مبتنی بر وب است و model ها، form ها، module ها، CRUD و غیره را بوجود می اورد.
به طور پیش فرض تولیدکننده های زیر، موجود هستند :
Model Generator – یک کلاس ActiveRecord برای یک جدول تعیین شده ی پایگاه داده ایجاد می کند.
CRUD Generator - یک controller و view تولید می کند تا عملیات CRUD (Create, Read, Update, Delete) را برای مدل مشخص شده ای پیاده سازی کند.
Controller Generator - یک کلاس controller جدید با یک یا چند action و view های متناظرشان را تولید می کند.
Form Generator - یک فایل view تولید می کند که در آن یک فرم وجود دارد تا ورودی های کاربر را برای کلاسِ مدل مشخص شده ای جمع اوری کند.
Module Generator –کد اسکلت برای یک ماژول Yii تولید می کند.
Extension Generator - فایل های مورد نیاز یک افزونه Yii را تولید می کند.
برای اجرای ابزار Gii در نوار آدرسبار مرورگر وب تان http://localhost:8080/index.php?r=gii: را تایپ کنید.
آماده سازی DB
مرحله 1 - ایجاد یک پایگاه داده جدید: پایگاه داده را می توان به دو روش زیر ایجاد نمود:
- در ترمینال، دستور زیر را اجرا نمایید.
mysql -u root –p
- ایجاد یک پایگاه داده جدید از طریق دستورزیر:
CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci؛
مرحله 2 - connection پایگاه داده را در فایل config/db.php پیکربندی کنید. تنظیمات زیر برای سیستم مورد استفاده کنونی می باشد.
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host = localhost;dbname = helloworld',
'username' => 'vladimir',
'password' => '12345',
'charset' => 'utf8',
];
?>
مرحله 3 - داخل دایرکتوری ریشه، دستور زیر را اجرا کنید. این فرمان یک database migration را برای مدیریت DB ایجاد می کند. فایل migration باید در پوشه migrations در ریشه پروژه قرار بگیرد.
./yii migrate/create test_table
مرحله 4 - فایل migration را (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", "user1@gmail.com"],
["User2", "user2@gmail.com"],
["User3", "user3@gmail.com"],
["User4", "user4@gmail.com"],
["User5", "user5@gmail.com"],
["User6", "user6@gmail.com"],
["User7", "user7@gmail.com"],
["User8", "user8@gmail.com"],
["User9", "user9@gmail.com"],
["User10", "user10@gmail.com"],
["User11", "user11@gmail.com"],
]);
}
public function safeDown() {
$this->dropTable('user');
}
}
?>
migration بالا یک جدول به نام user با چنیین فیلدهایی ایجاد می کند: id, name, email. همچنین تعدادی user نیز به جدول مان اضافه می نماید.
مرحله 5 - داخل ریشه پروژه دستور ./yii migrate را اجرا کنید. تا migraton به Database مان اعمال شود.
مرحله 6 - حالا ما باید یک مدل برای جدول user مان ایجاد کنیم. برای سادگی کار، ما قصد داریم از ابزار تولید کد Gii استفاده کنیم.
این آدرس را باز کنید: url: http://localhost:8080/index.php?r=gii. سپس بر روی دکمه “Start” زیر هدر “Model generator” کلیک کنید. نام جدول را user و نام کلاسِ مدل را MyUser بگذارید، روی دکمه “Preview” کلیک کنید و در نهایت روی دکمه “Generate” کلیک نمایید.
مدل MyUser باید در دایرکتوریmodels ظاهر شود.
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…