PHP MVC Mimarisi ile Web Uygulama Geliştirme

Nedim Bilgiç 9 dk okuma

MVC (Model-View-Controller), yazılım geliştirmede en yaygın kullanılan mimari desenlerden biridir. Uygulamayı üç temel katmana ayırarak kodun düzenli, test edilebilir ve bakımı kolay olmasını sağlar.

MVC Bileşenleri

  • Model: Veri katmanı, veritabanı işlemleri ve iş mantığı
  • View: Sunum katmanı, kullanıcıya gösterilen arayüz
  • Controller: İstekleri karşılayan, Model ve View arasında koordinasyonu sağlayan katman

Basit Bir Router

class Router {
    private $routes = [];

    public function get($path, $handler) {
        $this->routes['GET'][$path] = $handler;
    }

    public function dispatch() {
        $method = $_SERVER['REQUEST_METHOD'];
        $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        
        if (isset($this->routes[$method][$path])) {
            call_user_func($this->routes[$method][$path]);
        } else {
            http_response_code(404);
        }
    }
}

Model Katmanı

class User {
    private PDO $db;

    public function find(int $id): ?array {
        $stmt = $this->db->prepare("SELECT * FROM users WHERE id = ?");
        $stmt->execute([$id]);
        return $stmt->fetch(PDO::FETCH_ASSOC) ?: null;
    }
}

Controller Katmanı

class UserController {
    public function show(int $id) {
        $user = (new User())->find($id);
        if (!$user) {
            http_response_code(404);
            return;
        }
        include 'views/user/show.php';
    }
}

Sonuç

MVC mimarisi, projelerinizi düzenli ve sürdürülebilir tutmanın en etkili yollarından biridir. Küçük projelerde bile MVC prensiplerini uygulamak, ilerleyen aşamalarda büyük kolaylık sağlar.

NB
Nedim Bilgiç

Backend Developer. Kurumsal web siteler, e-ticaret çözümleri ve özel yazılım projeleri geliştiriyorum.