
- بواسطة x32x01 ||


خطوات عمل 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();
أهمية MVC
فصل منطق العمل عن العرض
يساعد على كتابة كود منظم وسهل الصيانة.إعادة الاستخدام
تقدر تستخدم نفس النموذج أو العرض في مشاريع تانية بسهولة.سهولة الصيانة
أي خطأ تقدر توصله بسرعة لأن كل جزء منفصل عن التاني.تعاون الفريق
المطورين والمصممين يقدروا يشتغلوا سوا من غير ما يعطلوا بعض. التعديل الأخير: