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.
