Merhabalar sizlere bir PHP framework olan Yii2’den bahsedeceğim.
Yii2 nedir?
Yii2 web uygulamalarını hızlıca geliştirmeyi amaçlayan yüksek performanslı bileşen tabanlı bir framework’tür. Burada “hızlıca geliştirme” söz dizimine özellikle vurgu yapmak isterim. Yii2’nin temel amacı uygulamanızı hızlıca oluşturmaktır. Temel özellikleri olan bir blog sitesini 20 dk içinde oluşturup yayına almak gibi.
Yii2’en en sevdiğim özelliklerinden birisi bir şey lazım değilse kesinlikle yüklenmez. Bu da onun performansına en büyük katkıyı yapmaktadır.
Yii2 araçları
Yii2 ile beraber debugger ve gii adında iki adet hazır uygulama ile gelmektedir. Debugger adındanda anlaşılacağı gibi bir debug aracıdır. Debugger ile uygulamanın o an çalışan tüm bilgilerine erişim sağlayıp yazılımınızı buna göre düzenlemeye devam edebilirsiniz. Bu bilgiler arasında O an ki uygulamaya ait tüm ayarlar ki buna phpinfo dahildir, header,session, SERVER, router, action, log, db’ye ait tüm sorgular ve sorguların performansına dair bilgiler, tüm css, js gibi dosyaların ve performansına ait bilgiler varsa giden mail ve kullanıcı bilgileri bulunmaktadır. Dilerseniz kendi debug panelinizi yazabilir veya mevcut panelde değişiklik yapabilirsiniz. Yii2 gücünün bir kısmını symfony’den alır. Bu yüzden debugger aracı benzerlik göstermektedir. Yalnız gözlemlediğim kadarıyla Laravel Debugger aracından daha detaylı veri sağladığını söyleyebilirim.
Bir diğer aracı ise Gii’dir. Bu araç sayesinde Controller, Model, Form, Extensions, Modul oluşturabilirsiniz. Ama en güzel özelliği ise nerdeyse tek tıkla db’den seçtiğiniz bir tablonun Controller, view katmanlarını otomatik oluşturabilirsiniz. Örnek öğrenciler isimli bir tablonun olduğunu varsayalım. GII ile Öğrencileri listeleyeceğiniz bir tablonun, tablonun filtreleme, arama, detaylı arama ve sayfalama işlemleri ile beraber her bir kayıta ait güncelleme, silme ve oluşturma ayrıca kayıta ait tüm bilgileri görebileceğiniz bir view dosyası otomatik oluşturulduğunu düşünün. CRUD işlemleri özellikle ne kadar zaman kaybettirdiğini düşünürsek size zamandan ne kadar tasarruf yaptırdığını bir hayal edin. Tabi bu gii ve debugger kurulumda opsiyonel olarak gelmektedir. İsteğinize göre aktif veya pasif edebilirsiniz.
YII Kurulum.
Yii2 ile 2 adet kurulum yapabilirsiniz. Basic ve Advanced. Basic adında anlaşılacağı gibi temel web uygulamaları içindir. Advanced ise frontend ve backend adında iki adet modülle gelir. Birisi web uygulamanızın görünen tarafı diğeri ise admin panel gibi arkaplanda gerçekleşen işler için olduğunu düşünebilirsiniz. Temelde ikisinin arasında ki en büyük fark User modeldir. Basic users için db kullanmanmaz ve şifre sıfırlama/hatırlatma gibi özellikler sunmaz. Advanced users için db kullanır ve şifre sıfırlama, user kayıt, şifre sıfırlama için token oluşturma, kullanıcı kayıtlarında mail ile doğrulama yapma işlemlerine kadar kurulum anında size teslim eder.
İsterseniz bu iki kurulumuda hiç kullanmayıp kendi uygulamanızı oluşturabileceğiniz gibi sadece micro-framework olarak kullanabilrisiniz. Dolaysıyla sadece 5 mb civarında olan bir framework ile api servisiniz yazabilrisiniz.
Bazı özellikleri,
1. Gelişmiş bir RBAC barındırır. Rol tabanlı kullanıcı yönetimi şeklinde kullanabiliriz. Aslında bu işlem kullanıcı yetkilendirme işlemidir. Kim admin, kim editör gibi yetkilendirme oluşturup, bunları istediğiniz kadar görev ya da Rol’e bağlayabilirsiniz. Veya rollere kendi görevlerinizi atayabilirsiniz veya istediğiniz kullanıcıya istediğiniz görev ya da rol verebilirsiniz. Gayet esnek ama bir o kadar kullanışlıdır. İsterseniz bu görevleri db, tablolarıyla kontrol edin isterseniz sadece PHP tarafında kullanın. Tamamen size kalmış.
2. Ulusallaştırma veya yerelleştirme. Çok dilli yapı. Birkaç ayar ile uygulamanızı çok dilli bir yapıya geçirebilrisiniz.
3. Consol uygulamaları yazabilirsiniz.
Son Olarak
Yii2 ile blog sitesinden tutunda komplike e-ticaret sistemleri, CMS veya api uygulamaları yazabilirsiniz.MySQL,MariaDB,SQLite,PostgreSQL,CUB RID,Oracle,MSSQL veritabanlarını destekler. Hatta bir uygulamada birden fazla veritabanıyla çalışabilirsiniz. Redis, MongoDb, elasticSearch kullanabileceğiniz uygulamalr arasındadır. Standart Page Cache, SQL Cache, HTTP cache kullanmaktadır.
İstifadenize.....
Yii Framework hakkında başlangıç düzeyinde bilgi
1
●114