Son zamanlarda geliştiricilerin belli bir karmaşıklık seviyesinin üstünde web siteleri ve uygulamaları yapmaları gerekiyor. PHP frameworkları işte bu noktada devreye giriyor. PHP framework adı verilen kavram karmaşık yazılım uygulamalarının geliştirilme sürecini kolaylaştırıyor ve belirli bazı görevlere ve işlevselliğe daha fazla vakit ayırılabilmesini sağlıyor.
Neden Framework Kullanmak Gerekir?
Framework kullanmak bir çok faydayı beraberinde getirir ve bir çok süreci hızlandırır.
- Framework geliştirme sürecini hızlandırır.
- Kodlama sürecine disiplin kazandırır. Yazılan kodların yeniden kullanılabilmesine, üzerinde kolaylıkla düzenlemeler yapabilmeyi sağlar. Daha temiz kodlar üretmeye yardımcı olur.
- Sunduğu performans araçları ile daha performanslı uygulamalar geliştirmeye katkı sağlar.
- Veri tabanı soyutlama katmanları ile daha kolay yazılım geliştirme imkanı verir.
- MVC altyapısı sayesinde tasarım ve kodlama yapılarını mantıklı bir şekilde ayrıştırma imkanı sağlar.
- Yardımcı uygulamalar ve kütüphaneler ile uygulamanıza katkılar sağlar.
- Kullanıcı toplulukları ve detaylı dokümantasyonlar sayesinde aranan desteğe kolaylıkla erişim sağlar.
- Uygulama güvenliği ile ilgili katkı sağlar. En güncel teknolojileri kullanımınıza sunar.
- Test ve Debug özellikleri sayesinde daha doğru kodlar yazmaya katkı sağlar.
- Frameworklere bakacak olursak en popülerlerini şöyle sıralayabilirim. Laravel , Symfony , Zend, Codelgniter. bunlar bana göre üst düzey ve en iyi frameworklerdir. Bunların hepsi fw fakat bazı yazılımcılar bir tanesinde ısrar edebiliyor. Bu durumu biraz da kod anlayışlarına bırakmak gerek. Kendisine daha yatkın gelen ve yazılım kolaylığı sağlayan fw’yi seçiyorlar. Tabi ki hız ve güvenlik hepsinde de ayı değil.
Aşağıda web geliştirilmesini en çok kolaylaştıran 5 PHP framework yer almakta.
PhalconPHP
Phalcon MVC’ye dayanan yüksek performanslı bir PHP framework. İlk olarak 2012 yılında piyasaya sürülen Phalcon, BSD Lisansı ile lisanslanan açık kaynaklı bir framework.
Birçok PHP framework aksine, Phalcon C ile yazılmış, işletim hızını arttırmayı, kaynak kullanımını azaltmayı ve PHP ile yazılmış diğer frameworklere kıyasla saniye başına daha fazla HTTP talebini karşılamayı amaçlayan bir web sunucusu olarak kullanılıyor. Phalcon’da ayrıca evrensel oto-yükleyici, portföy yönetimi, güvenlik, çeviri, kaşeleme gibi birçok güzel özellik de bulunuyor. Birçok yardımcı dokümanı olan ve kolay kullanımlı bir framework olarak kesinlikle denemeye değer.
Laravel
Laravel MVC mimari ile web uygulamaları geliştirmek için oluşturulmuş ücretsiz ve açık kaynaklı bir PHP framework. Sitepoint’in yakın zamanda yaptığı bir ankete göre Laravel geliştiriciler arasında en çok kullanılan framework. Hosting ve dağıtım platformu olan büyük bir ekosistemi var ve resmi web sitesinde Laracast adı altında birçok kılavuz bulunuyor.
Kendine özgü bir yönetici arayüzü olan modüler bir paket hazırlama sisteminin, ilgili veritabanlarına farklı erişim seçeneklerinin, uygulama dağıtımına ve bakımına yardım eden kolaylıklarının olması Laravel’in özelliklerinden yalnızca birkaçı.
Laravel’in “Blade” adında, kimlik doğrulama, oturum, sıraya koyma, önbellekleme ve yol atama gibi sık sık yapılması gereken işleri bir hayli basitleştiren kendine ait bir şablon oluşturma motoru var. Laravel’de ayrıca Homestead adında, paket halindeki bir Vagrant kutusu olan yerel bir geliştirme ortamı da bulunmakta.
Symfony
Symfony MVC uygulamaları için bir PHP framework. MIT lisansıyla yayınlanmış ücretsiz bir yazılım. Symfony web uygulamalarının oluşturulmasını ve bakımını hızlandırmayı ve tekrar eden kod yazma işlemlerinin yerini almayı amaçlıyor.
Symfony’nin amaçlarından biri de ticari bağlamda güçlü uygulamalar geliştirmek ve geliştiricilere dizin yapısından yabancı kütüphanelere kadar isteğe göre uyarlanabilecek hemen her tür konfigürasyon üzerinde tam kontrol imkanı sunmak. Kurumsal geliştirme ihtiyaçlarını karşılamak için geliştiricilerin projelerini test etmesini, hatalardan arındırabilmesini ve belgelendirebilmesini sağlayan ek araçları da içinde barındırıyor.
Symfony 2 frameworkunun bileşenleri Drupal içerik yönetim sistemi, phpBB forum yazılımı gibi birçok etkileyici proje tarafından kullanılıyor. Hatta yukarıda bahsi geçen Laravel de bu frameworke bağlı. Symfony bileşenleri form oluşturma, nesne konfigürasyonu, yol atama, kimlik doğrulama, şablon çıkarma gibi birçok işi yapabileceğiniz yeniden kullanılabilir PHP kütüphanelerinden oluşuyor. Bu bileşenleri Composer PHP bağıntılılık yöneticisi ile yükleyebiliyorsunuz.
Yii 2
Yii özellikle web geliştiriciliği ve APIlar için uygun modern bir PHP frameworku. Kullanımı oldukça kolay olan bu açık kaynaklı web uygulaması geliştirme çerçevesi açık kaynaklı ve ücretsiz. Temiz ve DRY (Don’t Repeat Yourself/Kendini Tekrar Etme) tasarımları destekleyen ve hızlı gelişimi teşvik eden PHP5 ile yazılmış. Geliştiricinin olağanüstü verimli, değişiklik yapılabilir bir son ürün üretebilmesini sağlıyor.
Yii 2 jQuery ile birlikte kullanılıyor ve içinde bir dizi AJAX etkinleştirilmiş özellik var. Kullanımı kolay tema oluşturma mekanizması nedeniyle front-end geçmişi olan kişiler için harika bir seçenek oluşturuyor. Ayrıca Gii adında, nesne yönelimli programlamacılığı ve hızlı prototipleştirmeyi kolaylaştıran ve istediğiniz kodu interaktif bir biçimde oluşturmanızı sağlayan web tabanlı bir arayüz sunan güçlü bir sınıf kodu oluşturucusu da var.
CakePHP
CakePHP on yaşında olmasına (ilk sürümü 2005 yılında piyasaya çıkmasına) rağmen hala en popüler PHP frameworkler arasında. CakePHP açık kaynaklı bir web çerçevesi ve MVC yaklaşımını benimsemiş. PHP ile yazılmış ve Ruby on Rails konsepti temel alınarak modellenmiş.
CakePHP programın kod içinde geliştirilmesi, MVC, aktif kayıt, ilişkili veri eşleştirme ve ön denetim gibi bilindik yazılım mühendisliği kavramlarını ve yazılım tasarımlarını kullanıyor.
En son sürüm olan CakePHP 3.0’da oturum yönetimi, bileşenlerin çoğunun ayrıştırılmasıyla gelişmiş modülerite özellikleri geliştirilmiş ve daha bağımsız kütüphaneler oluşturma yeteneği arttırılmış.
CakePHP’nin gerçekten muazzam bir kullanıcı yelpazesi var. BMW, Hyundai ve Express gibi büyük markaların web siteleri bu framework ile yazılmış. CakePHP üst düzey güvenlik gerektiren web uygulamaları geliştirmek için mükemmel bir araç, çünkü içerisinde girdi doğrulama, CSRF (Cross-Site Request Forgery) koruma, SQL injection önleme, XSS (Cross-Site Scripting) önleme gibi birçok güvenlik özelliği bulunuyor.