Framework ve MVC nedir? Neden Kullanılır? (PHP)

Bu konuyu okuyanlar

OfisSoft

Asistan
Katılım
14 Ekim 2008
Mesajlar
135
Reaksiyon puanı
4
Puanları
0
Türkiye'de henüz tam anlamıyla yaygınlaşmasada, framework yapıları her geçen gün popülaritesini arttırıyor. Framework yazılımın iskeletini oluşturan, sınıfları ve fonksiyonları içinde barındıran, geniş çaplı bir kütüphanedir. Yazılım geliştiriciler framework'ün sunduğu kütüphaneyi kullanarak daha kısa zamanda daha fazla iş üretebiliyor, daha düzenli bir yapı ortaya çıkarabiliyor ve dolayısı ile ileriye dönük çok daha kolay geliştirilebilir uygulamalar hazırlayabiliyorlar.

Framework yapısını anlayabilmek ve etkin bir şekilde kullanabilmek için daha önce nesne tabanlı yazılım geliştirmiş olmanız gerekiyor. Eğer php dilini yeni öğrenmeye başlamışsanız ve nesneye dayalı programlamayı tam olarak kavrayamadıysanız framework dökümanları size karışık gelebilir.

Kısa önbilgilerden sonra biraz teknik detaylara inelim ve framework dünyasını tanımaya başlayalım. :) Framework'ler ile gelen en güzel avatajlardan biri MVC (Model View Controller) yapısına sahip olmalarıdır.

Model : Veritabanına kayıt girilmesi, kaydın güncellenmesi, kaydın getirilmesi vb. işlemleri yaptığımız kısımdır. (Kısaca insert, update, delete ve select işlemlerimizi yaparız.)

Controller : View ile model arasında köprü görevi görür. View'den gelen verileri model'e gönderir ve işler. Aynı zaman da model'in işlediği verileri de view e aktarır.

View : Uygulamanın ziyaretçilere göründüğü kısımdır. Html, Css, JavaScript vb. bu kısımda bulunur.

Bu yapı sayesinde kodlarımızı katmanlara ayırırız ve çok daha derli toplu bir proje yapımız olur. Farklı yazılımcılar standartlaşmış kod yapısı sayesinde projeyi çok daha kolay geliştirebilirler.

Mvc yapısı arayüz kodlaması yapan arkadaşlara da fayda sağlar. Php dosyasına tasarımı giydirirken kendisinin işine yaramayacak sql sorguları vb. diğer kodlarla uğraşmaz. Sadece echo ile ekrana basılan verileri ve döngüleri görür.

Forumlarda ve bloglarda takip ettiğim kadarıyla framework kullanmayanların "Ben kendi kütüphane mi yazarım işime bakarım. Niye başkalarının yazdığı kodları kullanıp hazırcılık yapayım!" diye mesajlarına sıkça rastlamaya başladım. Eğer freelance çalışıyorsanız ve kodlamayı sadece kendiniz yapıyorsanız framework kullanmanıza gerek olmadığını söyleyebilirim. Bu durumda kendi kütüphanelerinizi oluşturup kullanabilirsiniz. Ancak yazdığınız kodları sizden başka yazılımcıların da geliştirmesi gerekiyorsa ve bir şirkette yazılımcı olarak çalışıyorsanız framework kullanmanızın kaçınılmaz olacağını düşünüyorum. Çünkü sizden sonra işe başlayacak kişinin oturupta sizin kendi yazdığınız yapıyı çözmesi ve geliştirmeye başlaması ciddi bir zaman ve iş kaybı yaşatıyor. Bir framework kullanılsaydı işe kullanılan framework'ü bilen bir eleman alınırdı ve projeler aksamadan devam ederdi. Aynı durum sizin yeni bir işe başladığınızda da geçerli. Özellikle bu konuda şirket tecrübesi olan arkadaşlar başkalarının kodlarını inceleyip, çözmeye çalışmanın ne kadar sıkıntılı ve sinir bozucu bir iş olduğunu tecrübe etmişlerdir. :)

Zend, Codeigniter, CakePhp, Symfony şuan Türkiye'de kullanılan en popüler uygulama çatıları olarak göze batıyor. Eğer php alanınında kariyer yapmak istiyorsanız, en az 1 framework kullanarak proje geliştiriyor olabilmeniz size avantaj sağlayacaktır.

Yazan : İbrahim HIZLIOĞLU
 
Üst