Yeni Başlayanlar İçin PHP’de MVC

2 Aralık 2016 Cuma günü PHP başlığında

Yeni Başlayanlar İçin PHP’de MVC

Nedir bu MVC? Neden ihtiyaç duyulur? Nasıl ve nerelerde kullanılır? gibi birçok soru var kafada. Hele ki yeni bir PHP meraklısıysanız, bu sorular daha çok ve derinden gelir.

Ben, programlamayı vakit geçirmek için kullanan, ortaya bir şeyler çıkarmaya çalışan birisi olarak PHP ile makarna kod yazdığım zamanların ardından MVC ile tanıştım. Tanıştıktan sonra, bir daha görüşmedim çünkü yeterli türkçe kaynak yoktu/bulamamıştım ve tam manasıyla kavrayamamıştım. Buna istinaden şimdi aynı şekilde, bildiğim kadarıyla MVC’yi tarif edeceğim ve birkaç örnek vereceğim. Tariflerim hakkında bilgi alabilmek için, PHP’de biraz olsun OOP yani nesne yönelimli programlama bilginizin olması gerekiyor. Olmasa bile biraz zorlamanızı öneririm.

MVC, Model-View-Controller üçlüsünün baş harfleridir ve bunlar birer katmandır. Katman başka yerlere götürmesin sizi. Üç tane PHP dosyasının birleşimi gibi düşünebilirsiniz. Bu üç PHP dosyası ayrı işlemler yaparak, bizim işimizi kolaylaştırır. Model katmanı, veritabanından verileri çekmemizde bize yardımcı olur. Böylelikle verileri tek bir yerden kontrol etmiş oluruz. View katmanı, görünüm katmanıdır. Yani HTML, CSS, JavaScript gibi kodlarımızı tuttuğumuz katmandır. Controller katmanı ise sistemi kontrol ettiğimiz katmandır. Model katmanından verileri alır, View dosyasına göndeririz, View katmanında verileri listeledikten sonra kullanıcıya View dosyasını sunarız.

Bu yazı ve sonraki yazılarda basit bir MVC sistemi yazacağız. Bu sistemi kodlarken, üzerine basit bir blog sistemi de ekleyeceğiz. Her şeyi en basitinden vurgulayarak anlatacağım bu basit uygulamada, her satırın açıklamasını da yapmaya çalışacağım. Böylelikle ne yapmış olduğumuzu anlayabileceğiz. Sınıf ve metod isimlendirmelerinde Türkçe yerine İngilizce kullanacağım. Böyle yapmamın sebebi, MVC’yi anlamlandırırken İngilizce olarak anlamlandırmamızın daha sonrası için yararlı olacağı.

Yapacaklarımız:

  • Çekirdek dizininde app sınıfının oluşturulması
    Yani, sistemin bel kemiğini ana klasörde yazacağız.
  • Çekirdek dizininde model, view ve controller sınıflarının oluşturulması Yani, ana klasörde, veri, görünüm ve kontrol işlemlerini yapan kodları yazacağız.
  • Models dizininde yeni bir model üzerinde çalışmak *Yani, verileri yöneteceğimiz PHP kodlarında, örnek bir dosya oluşturacağız.
  • Controllers dizininde yeni bir controller dosyası Yani, yeni bir kontrol dosyası oluşturup, adres barındaki URL’ye göre cevap vereceğiz.
  • Views dizininde görünüm dosyaları yaratmak ve kullanmak Yani, kullanıcıların ne göreceğini, CSS ve JavaScript ayarlamalarını yapacağız.

Kabaca bu şekilde.

Projenin/uygulamanın bitmiş ve çalışır halinin deposuna buradan İndirmek içinse buradan alalım sizi.

Önümüzdeki yazılarda görüşmek üzere.


Adım adım:

  1. Yeni Başlayanlar İçin PHP'de MVC (Şu an buradasınız)
  2. MVC Uygulaması İçin İlk Adımlar: App Sınıfı
  3. MVC’de Giriş Sayfası, Ayarlamalar ve İlk Controller
  4. Controller ve View Çekirdek Sınıflarını Oluşturmak
  5. Model Katmanı ve Veritabanı İşlemlerini Kolaylaştırmak
  6. Proje/Uygulamanın Deposu
  7. Uygulamanın bitmiş halini indirin

Yorumlar