Yii - Gii
Gii; modeller, formlar, modüller, CRUD vb. Oluşturmak için web tabanlı bir kod üreteci sağlayan uzantıdır.
Varsayılan olarak, aşağıdaki jeneratörler mevcuttur -
Model Generator - Belirtilen veritabanı tablosu için bir ActiveRecord sınıfı oluşturur.
CRUD Generator - Belirtilen model için CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemlerini uygulayan bir denetleyici ve görünümler oluşturur.
Controller Generator - Bir veya birkaç denetleyici eylemi ve bunlara karşılık gelen görünümleriyle yeni bir denetleyici sınıfı oluşturur.
Form Generator - Belirtilen model sınıfı için girdi toplamak üzere bir form görüntüleyen bir görünüm komut dosyası oluşturur.
Module Generator - Bir Yii modülünün ihtiyaç duyduğu iskelet kodunu üretir.
Extension Generator - Bir Yii uzantısının ihtiyaç duyduğu dosyaları oluşturun.
Gii oluşturma aracını açmak için yazın http://localhost:8080/index.php?r=gii: web tarayıcısının adres çubuğunda.
DB'yi hazırlama
Step 1- Yeni bir veritabanı oluşturun. Veritabanı aşağıdaki iki şekilde hazırlanabilir -
Terminalde mysql -u root –p komutunu çalıştırın
Aracılığıyla yeni bir veritabanı oluşturun CREATE DATABASE helloworld KARAKTER SETİ utf8 COLLATE utf8_general_ci;
Step 2 - Veri tabanı bağlantısını yapılandırın. config/db.phpdosya. Aşağıdaki konfigürasyon şu anda kullanılan sistem içindir.
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=helloworld',
'username' => 'vladimir',
'password' => '12345',
'charset' => 'utf8',
];
?>
Step 3 - Kök klasörün içinde run ./yii migrate/create test_table. Bu komut, DB'mizi yönetmek için bir veritabanı geçişi yaratacaktır. Taşıma dosyası,migrations proje kök klasörü.
Step 4 - Taşıma dosyasını değiştirin (m160106_163154_test_table.php bu durumda) bu şekilde.
<?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');
}
}
?>
Yukarıdaki geçiş, bir userBu alanların bulunduğu tablo: id, ad ve e-posta. Ayrıca birkaç demo kullanıcısı ekler.
Step 5 - Proje kökünün içinde run ./yii migrate veri tabanına geçişi uygulamak için.
Step 6 - Şimdi, bizim için bir model oluşturmamız gerekiyor. usertablo. Basitlik uğruna, kullanacağızGiikod oluşturma aracı. Aç şunuurl: http://localhost:8080/index.php?r=gii. Ardından, "Model oluşturucu" başlığının altındaki "Başlat" düğmesine tıklayın. Tablo Adını ("kullanıcı") ve Model Sınıfını ("MyUser") doldurun, "Önizleme" düğmesini tıklayın ve son olarak "Oluştur" düğmesini tıklayın.
MyUser modeli modeller dizininde görünmelidir.