Yii2 Gii Modülü


        Daha önceki yazımda Yii'de Gii modülünü aktif etmek için ne yapılması gerektiğinden bahsetmiştim. Yii2 de ise Gii modülü aktif olarak geldiği için ayrıca bir işlem yapmamıza gerek yoktur.

        Gii; MVC (Model, View, Controller), CRUD (Create, Read, Update, Delete) ve Formların kodlarını Web Arayüzü kullanarak oluşturmaya yarar.

        Gii modülünü açmak için adres satırına http://localhost/uygulama_adi/index.php?r=gii yazmak yeterlidir. Bu adres URL ayarlarına göre değişebilmektedir.

  • Gii'nin içeriği;
    • Model Generator
    • CRUD Genarator
    • Controller Generator
    • Form Generator
    • Module Generator
    • Extension Generator
        Şimdi bu kod üreteçlerinden bahsedelim biraz.
  • Model Generator:
    • Bir veritabanı tablosu için, tabloyu karşılayacak bir model oluşturur. Oluşturduğu bu model veritabanının tüm özelliklerini barındırır.
  • CRUD Genarator:
    • Oluşturulan her model için düzenleme, listeleme ve silme işlemleri yüzünden fazladan kod yazmamızı view, update, index, create, admin sayfalarını oluşturarak önler.
  • Controller Generator:
    • Controller sınıfından yeni bir controller sınıfı türetilerek oluşturulur. Controller oluştururken index metodunun oluşturulduğu gibi bu method tarafından 'render' edilmek için kullanılmak üzere 'uygulama_adi/views/controller_adi' dizini altında index.php dosyası da oluşturulur.
  • Form Generator:
    • Veritabanına göre oluşturulan model için, modele bulunan eya sonradan eklenen tüm alanları içeren bir form oluşturur. Burada şunu belirtmek isterim ki sonradan eklenen alanlar senaryoya göre düzenlenmezse veritabanına kayıt sırasında hata alınır. Bu da bir sonraki yazımın konusu. Oluşturulan bu form; belirlenen isimle, 'views/model_adi' dizininde eklenir.
  • Module Generator:
    • Hazır bir taslağı kullanmak için üretilir (orta, ileri seviye).
  • Extension Generator:
    • Yii2 ile gelen bir özellik olan bu üreteç; eklenti eklemek için değil kendimiz eklenti oluşturmak istiyorsak kullanılır (ileri seviye).
        Daha önceden de söylediğim gibi, Gii Yii/Yii2'nin vazgeçilmezi. Bir sonraki yazımda Gii'yi kullanarak CRUD işlemleri yapabileceğimiz bir örnek yapmak istiyorum. İyi çalışmalar.