Her PHP Geliştiricinin kafasını karıştıran bir framework ikilemidir Codeigniter mı Laravel mi sorusu. Her iki framework çalışma mantığı ve kolaylıkları açısından birbirinden oldukça farklı yapıdalar. İkisinin de kullanımı projeye göre değişiklik gösterebilir. Uzmanlaşmak istediğimiz çalışma ortamı olarak bir tercihte bulunmamız gerekiyor ve ikisi arasında kaldıysanız farklılıkları ve avantajlardan bahsedelim.

Laravel

The PHP Framework For Web Artisans

Laravel 2011 yılında ilk versiyonu piyasaya sürülmüş, Taylor Otwell tarafından geliştirilmiş bir PHP çalışma ortamı. Günümüze kadar bir çok kararlı versiyonlarla geliştirilmiştir. Laravel yapısı gereği katman-katman çalışan bir yapıyla dikkatimizi çekiyor. Tam anlamıyla bir profesyonellik abidesi, sanatsal bir çalışma gibi. Bunun yanında CLI ile bir çok web uygulamasında bulunan özellikler (Üyelik sistemi, login sayfaları), işlem sayfaları saniyeler içinde altyapı, veritabanı kurulumuyla generate edilebiliyor. Routing yapılandırmaları ve kontrolcü işlemleri sade bir yapıda kodlanabilir. Laravel ile özellikle hızlıca API Servis yazılabilir. Artisan komutları ile bazı işleri ne kadar hızlı yapabildiğinize şaşırabilirsiniz. Laravel için tasarlanmış bir çok eklenti, kütüphaneyle de bazı işleri

CodeIgniter

CodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to create full-featured web applications.

Slogandan anlaşılacağı üzere CodeIgniter Güçlü ve minimal bir başlangıç ayağı. Laravel’e nazaran daha slim bir başlangıç çalışma ortamına sahip. Genişletilebilir yapısıyla eklediğiniz kütüphaneler, yazdığınız kontrolcü ve modellerle tamamen yazdığınız proje etrafında şekillenen bir yapıya sahip. Esasında Microsoft .NET Framework’ün ağır çalışma ortamını beğenmeyen PHP geliştiricilerin özellikle benimseyebileceği bir çalışma ortamıdır. Laravel gibi bazı işlerinizi hızlandıracak kontrolcü, model, veritabanı tabloları ve benzeri verileri generate edebileceğiniz yan araçlar yok ancak ihtiyaç duyacağınızdan azı da yok diyebilirim. CodeIgniter sade ve hafif başlangıç yapısıyla size framework’e hızlı adapte olma şansı verirken Servis geliştirme, Kontrolcü ve Model yazma, Veritabanı tasarımı gibi işlerin detaylarını size bırakıyor.

Sonuç olarak Codeigniter Mı Laravel Mi?

Laravel birçok sunduğu özellikle size zaman, kolaylık sağlasa da Laravel’i PHP üstünde çalışan ikinci bir interpreter gibi düşünebilirsiniz. Yani büyük projelerde bazen debug işlemleri CodeIgniter’a nazaran çok daha zorlayıcı olabilir. Çünkü CodeIgniter’da yazılan kod çoğunlukla yazılımcının müdahelesiyle olurken Laravel’de sizin kodunuz dışında, framework katmanından hatalarla karşılaşmanız muhtemel. Laravel hızlıca yapılar ve veritabanı tasarlama gibi işlemler yapmak isteyen geliştiricilere bu kolaylıklara karşın yavaş framework’e adaptasyon süresi, zorlu debugging süreçleri sunuyor. Ancak güçlü bir adaptasyondan sonra istenen geliştirici olmamak elde değil.

CodeIgniter ise herşeyi yazmak, denetlemek isteyen, API, Controller, Model, Database, Helper, Authentication gibi kurguları baştan aşağı yönetmek isteyen yazılımcılara hitap ediyor. Debugging konusunda laravel gibi katman üstü katman yapısında olmadığı için biraz daha hızlı adaptasyona sahip çalışma ortamı sunuyor diyebiliriz.

Önceden yapılmış Laravel projelerini devralmak tehlikelidir.

Kapak İllüstrasyonu: roserodionova