Merhabalar, yakın zamanda bir proje için codeigniter kullanmaya başladım. Şuan geliştiricisi tarafından sorunlar yaşayan codeigniter mükemmel bir php framework. Geliştirilmeye açık ve kolay bir yapısı var. Bu yazı ile birlikte yazılımportal’da codeigniter ile nesne yönelimli php kodlama örnekleri vereceğim. Bir kaç yazı daha yazmayı planlıyorum. Bu yazılarla birlikte okurlarımızın codeigniter ile proje geliştirebilecek seviyeye gelmesini sağlayacağız. Bu yazıda temel bilgilerden başlayarak codeigniter ortamı ile tanışacağız.

MVC , Framework kavramları nedir ?

MVC , model – view – controller kelimelerinin ingilizce baş harflerinden oluşan bir terim. Framework ise türkçeye çatı olarak çevrilmekte. Programlama dünyasında mvc ve framework nedir dersek kısaca açıklayalım.

Model : Uygulamanın iş mantığı burada çalıştırılır. Controller tarafından gelen işler burada çalıştırılıp geri döndürülür yani bir iş modeli için fonksiyonlarınız burada tutulur. İş modeli örneği ; bir blog sistemindeki blog yazıları için oluşturulan model adı yazılar olsun. Model dosyanız içinde yazılarla ilgili işlemleri yaparsınız ( sil , ekle , düzenle , yayınla gibi).
Controller : Uygulamadaki karar mekanizmasıdır. Belirlediğiniz süzgeçlerle hangi içeriğin gösterileceği ve işleneceğine karar veren mekanizmaları burada yazarız. Örneğin anasayfada blog yazıları listelenmesi gerekiyorsa modelinizi controllerınızda çağırırsınız.
View : Uygulamanın kullanıcıya gösterilen kodları burada yazılır. Yani işlenen verilerinizi bastığınız kısım viewde tutulur. Html , css , jquery kodlarınız view içerisindeki template dosyalarınızda yazılır.
MVC dediğimizde artık kafanızda ufak bir şema oluşuyor olması gerekir. Basitçe özetlersek Controllerınız bir karar verir. Karardan alınan içerik modeller ile işlenir ve View de bulunan tema dosyalarınızla kullanıcıya gösterilir.

Bu yapı karmaşık ve iç içe olan kodlamanın önüne geçerek hem uygulamaya esneklik hemde yazılımcıya çalışmasında kolaylık sağlamaktadır.

Framework ise MVC yapılarını kullanarak bir çok gelişmiş özelliği içinde barındıran hazır bir çalışma alanıdır. Sizin için belirli fonksiyonları önceden hazırlamış ve size mvc yapısını kurarak projenizi kodlayacak bir tezgah sunmaktadır. Evet framework bana göre bir tezgah gibidir. Üzerinde her türlü faydalı aleti bulundurduğunuz gerektiğinde kolayca ulaştığınız bir tezgah.

Frameworklerin faydaları (tıklayın)

Codeigniter Kurulumu

Codeigniter ile çalışmak için bir php sunucunuz olmalıdır. Local makine üzerine php sunucu kurmak için öncelikle bu yazıyı okumalısınız. Daha sonra http://ellislab.com/codeigniter adresinden son sürümünü indirip www dizinine dosyalarınızı çıkartın. Her hangi bir ayara gerek duymadan kullanmaya başlayabilirsiniz.

Codeigniter dosya yapısını tanıyalım

System : Fw geliştiricileri için hazırlanmış ve bizim pek işimiz olmayan bir klasör. Sistemin işleyişi ile alakalı dosyalar barındırır.

core : Fw sisteminin çekirdek kodları burada bulunur. Temel görevleri barındırır.
database : Fw ‘ün veritabanı işlemlerini yürüten modeli barındırdığı kısımdır.
fonts : System fontlarını burada barındırır.
helpers : Fw sisteminin model oluşturmayan yardımcı fonksiyonlarıdır.
language : Sistemdeki modellerin dil dosyaları burada barınır.
libraries : Sistemde kullanılan yardımcı kütüphaneler burada barınır.




Application : Uygulamamızı yazacağımız dizin burasıdır.

core : Uygulamamızda varsa çekirdek kodlar buraya yazılır.
cache : Cache dosyaları buraya kaydedilir.
config : Uygulamamız ile ilgili belirli configrasyonları yaptığımız klasör.
controllers : Uygulamamızdaki karar mekanizması buraya kodlanır.
errors : Uygulamada oluşan hataları burdaki hata dosyalarımızla gösteririz.
helpers : Model oluşturmayan yapılarımızı yardımcı fonksiyonlarımızı burada kodlarız.
hooks : Fw ‘ün çekirdek koduna müdahale etmek gerekirse buradan yapılır.
language : Uygulamamızın dil dosyalarını burada tutuarız.
libraries : Uygulamamızda kullancağımız ek kütüphaneleri buradan include ederiz.
logs : Uygulamamızdaki logları burada saklarız.
models : Uygulamamızın model yapıları burada oluşturulur.
views : Uygulamanın arayüzü bu kısımda kodlanır.
third-party: 3. parti uygulamaları fw’e burada entegre ederiz.


Genel olarak dosyalarımızı tanıdık nerede ne yapacağımızı biliyoruz. Ufak bir uygulama geliştirmek için önümüzde her hangi bir engel görünmüyor :)



Kaynak ve devamındaki proje için : http://yazilimportal.com/php-mvc-yapisi-ve-codeigniter-framework-1/