- بواسطة x32x01 ||
💡 نظام MVC (Model-View-Controller) هو من أكثر الأنماط شيوعًا في برمجة تطبيقات الويب، لأنه بيسهّل فصل الأكواد وتنظيم المشروع بشكل احترافي. تعال نشوف مع بعض إزاي بيشتغل خطوة بخطوة 👇
خطوات عمل MVC
- المستخدم بيطلب صفحة معينة.
- Controller يستقبل الطلب ويتحقق منه.
- Controller يطلب البيانات من Model.
- Model يتعامل مع قاعدة البيانات ويرجع البيانات.
- Controller يرسل البيانات إلى View.
- View تعرض النتيجة للمستخدم في شكل جميل.
مثال عملي على MVC في PHP 🧩
خلينا نعمل تطبيق بسيط بيعرض قائمة المستخدمين من قاعدة البيانات:1. النموذج (Model)
هو اللي بيتعامل مع البيانات بشكل مباشر: PHP:
// model/UserModel.php
class UserModel {
private $db;
public function __construct($db) {
$this->db = $db;
}
public function getUsers() {
$stmt = $this->db->prepare("SELECT * FROM users");
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
} 2. المتحكم (Controller)
هو الوسيط بين المستخدم والبيانات: PHP:
// controller/UserController.php
class UserController {
private $userModel;
public function __construct($userModel) {
$this->userModel = $userModel;
}
public function index() {
$users = $this->userModel->getUsers();
require 'view/usersView.php';
}
} 3. العرض (View)
هو اللي بيعرض البيانات بشكل منسق للمستخدم: PHP:
<!-- view/usersView.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Users List</title>
</head>
<body>
<h1>Users List</h1>
<ul>
<?php foreach ($users as $user): ?>
<li><?php echo htmlspecialchars($user['name']); ?></li>
<?php endforeach; ?>
</ul>
</body>
</html> 4. التجميع النهائي
كده بنربط كل حاجة ببعضها في ملف الدخول الرئيسي: PHP:
// index.php
require 'config/database.php';
require 'model/UserModel.php';
require 'controller/UserController.php';
$database = new Database();
$db = $database->getConnection();
$userModel = new UserModel($db);
$userController = new UserController($userModel);
$userController->index(); 