MVC (Model-View-Controller) Nedir? PHP İle Basit Uygulama Örneği

 MVC (Model-View-Controller) Nedir? PHP İle Basit Uygulama Örneği


Web geliştiriciliğine yeni başlayanların sıklıkla karşılaştığı terimlerden biri olan MVC, modern yazılım dünyasında düzenli ve sürdürülebilir projeler geliştirmenin temel taşıdır. Peki MVC nedir, neden kullanılır, hangi projelerde kullanılır ve PHP ile nasıl uygulanır? Hepsini bu öğretici yazıda detaylıca öğreniyoruz.


MVC Nedir? (Basit ama Detaylı Anlatım)

MVC, yazılım projelerini 3 ayrı katmana ayırarak düzenli bir yapı sunan bir yazılım desenidir:

1. Model (Veri Katmanı)

  • Veriler ve iş kurallarının yer aldığı bölümdür.

  • Genellikle veritabanı işlemleri burada yapılır.

  • Kullanıcı bilgisi, ürünler, blog yazıları gibi veriler burada yönetilir.

Örnek: Bir blog yazısını veritabanından çeken kodlar burada olur.


2. View (Görsel Katman)

  • Kullanıcıya gösterilen arayüzdür.

  • HTML, CSS, JavaScript burada yer alır.

  • Sadece veriyi gösterir, işlemez.

Örnek: Kullanıcının gördüğü "Son Blog Yazıları" sayfası.


3. Controller (Kontrol Katmanı)

  • Model ile View arasında köprü görevi görür.

  • Kullanıcının isteğini alır, işlemleri başlatır, uygun veriyi alır ve doğru görünümü yükler.

Örnek: Kullanıcı example.com/blog adresine gittiğinde, hangi yazılar gösterilecekse onu yöneten kontrol merkezi burasıdır.


MVC Ne İçin Kullanılır?

  • Kodları modüler hale getirir. (Her şey tek bir dosyada değil.)

  • Ekip çalışmasına uygundur: Frontend, Backend ayrı çalışabilir.

  • Projeler daha kolay büyütülebilir ve sürdürülebilir olur.

  • Hatalar daha hızlı tespit edilir ve düzeltilir.

  • Kod tekrarını (duplicate code) azaltır.


MVC Kullanılan Gerçek Proje Türleri

MVC mimarisi birçok farklı projede kullanılır:

Proje TürüKullanım Nedeni
🛒 E-ticaret SiteleriSipariş, ürün, kullanıcı modülleri ayrı çalışır
📝 Blog / Haber SiteleriYazı, kategori, yorum gibi yapılar yönetilir
📊 Yönetim PanelleriKullanıcı rolleri, istatistikler ayrılır
📱 API Tabanlı UygulamalarVeriler modelde tutulur, JSON ile sunulur


PHP ile MVC Uygulama (Adım Adım Örnek)

/mvc-blog

├── index.php

├── controller/

│   └── BlogController.php

├── model/

│   └── Blog.php

├── view/

│   └── blogList.php


1. index.php


<?php
//Ana giriş noktası. Controller’ı çağırır.
require_once 'controller/BlogController.php';

$controller = new BlogController();
$controller->index();


2. controller/BlogController.php


<?php
require_once 'model/Blog.php';

class BlogController {
public function index() {
$blog = new Blog();
$posts = $blog->getAllPosts();
require 'view/blogList.php';
}
}


3. model/Blog.php


<?php
class Blog {
public function getAllPosts() {
// Örnek sabit veri. Gerçekte veritabanından çekilir.
return [
['title' => 'MVC Nedir?', 'content' => 'MVC, yazılım dünyasında düzen sağlar.'],
['title' => 'PHP ile MVC Yapısı', 'content' => 'Controller, Model, View üçlüsü.']
];
}
}


4. view/blogList.php


<!DOCTYPE html>
<html>
<head>
<title>Blog Yazıları</title>
</head>
<body>
<h1>Blog Yazıları</h1>
<?php foreach ($posts as $post): ?>
<h2><?= $post['title'] ?></h2>
<p><?= $post['content'] ?></p>
<?php endforeach; ?>
</body>
</html>


MVC Öğrenmek Neden Önemli?

MVC, projelerinizi sadece daha düzenli hale getirmekle kalmaz, aynı zamanda mesleki kariyerinizde ileri seviye projelere geçiş yapabilmenizi sağlar. Laravel, Symfony gibi modern PHP framework’leri de zaten MVC mimarisi üzerine kuruludur.

Yeni bir proje geliştiriyorsanız veya profesyonel olmak istiyorsanız, MVC öğrenmek bir zorunluluk diyebiliriz.











Related Posts

MVC (Model-View-Controller) Nedir? PHP İle Basit Uygulama Örneği
4/ 5
Oleh