Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini hızlandırır, düzenli ve temiz kod yazımını kolaylaştırır ve yazılıma belli bir standart kazandırır. Piyasada bulunan ço ğ u framework kendi içinde MVC tasarım desenini barındırır. Ancak bu MVC ile FRAMEWORK'ün ayrılmaz 2 terim oldu ğ u anlamına gelmiyor. Framework kullanmadan da MVC kullanılabilir.
Ço ğ u framework'ün içinde MVC'yi barındırması sayesinde, MVC'nin sundu ğ u tüm avantajlardan yararlanılması Bir çok yazılımcı tarafından test edilerek güvenlik ve performans optimizasyonlarının yapılmış olması Proje süreçlerini kolaylaştırması ve hızlandırması Düzenli ve Temiz kod yazımını kolaylaştırması
Ekip halinde proje geliştirirken karışıklı ğ ı önlemesi ve görev paylaşımını kolaylaştırması Barındırdıkları database adaptörleri sayesinde farklı Veritabanı türlerine kolay bir şekilde Entegre Edilebilmesi İ ş görüşmelerinde avantaj sa ğ laması (Php Developer iş ilanlarını inceledi ğ inizde "... Framework'üne hakim", "En az 1 framework tecrübesi olan" vb. şartları sıkça görür olduk.)
‘Her proje de framework kullanın’ gibi bir genelleme yapmak yanlış olur. Öncelikle geliştirece ğ imiz uygulamayı iyi analiz edip, ihtiyaçlarımızı net olarak belirlememiz gerekiyor. 5 sayfadan oluşan basit bir kurumsal site için framework kullanmanın avantajdan çok dezavantaj sunması muhtemeldir. Bu tür küçük projelerde işyükü fazla de ğ ildir ve projenin kodlarının devamlı geliştirilmesi gerekmez. O yüzden statik php ile hazırlayarak performans yönünden daha iyi bir sonuç elde edebiliriz.
Orta ve büyük çaplı projeler geliştiriyorsak, ekip halinde çalışmamız gerekiyorsa framework kullanmak en iyi çözümlerden biri olacaktır.
CodeIgniter Zend Kohana Symfony CakePhp