Yii2 Framework Türkçe Eğitimleri – Uygulama Mimarisi

Yii2 Framework Türkçe Eğitimleri – Uygulama Mimarisi

Yii2 Framework Türkçe Eğitimleri yazı dizimde daha önceden Framework’lerin genel yapıları ve Yii Framework hakkında genel bilgiler verip, Windows ortamında kurulumunu anlattım. Bu yazımda ise pratik olarak Yii2 Framework’ünü daha iyi anlamamız açısından mimarisi hakkında bilgiler vereceğim.

Yii Framework Uygulama Mimarisi

Yii Framework’ün en önemli özelliklerinden biri de PHP içerisine MVC teknolojisini dahil etmesidir. Bu özellik sayesinde daha iyi yapılandırılmış bir uygulama ortamı ve anlaşılır kod sunma olanaklarını sağlarken aynı zamanda PHP’nin eksikleri olan güvenlik ve otomatik kod oluşturma gibi bir çok alanda basitleştirme yaparak yazılım geliştiricilere kolaylık sağlar.

Bir Yii uygulamasında tüm trafiği ve kontrolü tek bir dosya üzerinden gerçekleştirirsiniz: /web/index.php .

Bu yerleşik dosya Yii çekirdeğini ve tüm bağımlılıkları (dependencies) yükler ve ardından uygulamanızı çalıştırır.

Kurulum içerisinde varsayılan olarak bir controller’da gelir. /controllers/SiteController.php dosyasındeki index metodu şu şekilde gelir:

Controller’lar tüm erişimi yönetirler. Model’leri kullanırlar ve Görünümleri oluştururlar. Genel olarak iş mantığının büyük kısmı model ve controller’lara yerleştirilmeli. Görünüm (View) ‘lerde ise diğer alanlara nazaran daha basit şablon işlemler yapılmalıdır.

Yerleşik olarak gelen /views/site/index.php dosyasındaki görünüm için ise bir layout şablonu kullanır. Bu şablona /views/layouts/main.php dosyasından ulaşırsınız. Bunu bir masterpage olarak düşünebilirsiniz. Kod tekrarını ve düzenlemeyi kolaylaştırmak adına tasarımın statik kısımlarını bir yerde tuttuğunuzu ve dinamik kısımlarını ise bu şablonun belirli yerlerine çağırdığınızı düşünün. main.php dosyasının bir kısmında aşağıdaki kodlara rastlanır.

Bu kodda ekrana bir $content değişkeninin yazdırıldığına dikkat etmişsinizdir. Burada /view/site/index.php tarafından oluşturulan kodlar ekrana yazdırılır.

Bu içeriği oluştururken kullandığım kaynaklar:

Bir Cevap Yazın