فهم عميق لآلية عمل MVC في PHP خطوة بخطوة

x32x01
  • بواسطة x32x01 ||
💡 نظام MVC (Model-View-Controller) هو من أكثر الأنماط شيوعًا في برمجة تطبيقات الويب، لأنه بيسهّل فصل الأكواد وتنظيم المشروع بشكل احترافي. تعال نشوف مع بعض إزاي بيشتغل خطوة بخطوة 👇

خطوات عمل MVC​

  1. المستخدم بيطلب صفحة معينة.
  2. Controller يستقبل الطلب ويتحقق منه.
  3. Controller يطلب البيانات من Model.
  4. Model يتعامل مع قاعدة البيانات ويرجع البيانات.
  5. Controller يرسل البيانات إلى View.
  6. 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 🌟

فصل منطق العمل عن العرض​

يساعد على كتابة كود منظم وسهل الصيانة.

إعادة الاستخدام​

تقدر تستخدم نفس النموذج أو العرض في مشاريع تانية بسهولة.

سهولة الصيانة​

أي خطأ تقدر توصله بسرعة لأن كل جزء منفصل عن التاني.

تعاون الفريق​

المطورين والمصممين يقدروا يشتغلوا سوا من غير ما يعطلوا بعض.
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
737
x32x01
x32x01
A
الردود
0
المشاهدات
63
Abo Ali
A
x32x01
الردود
0
المشاهدات
550
x32x01
x32x01
x32x01
الردود
0
المشاهدات
197
x32x01
x32x01
x32x01
الردود
0
المشاهدات
195
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,110
المشاركات
2,317
أعضاء أكتب كود
518
أخر عضو
minashehata
عودة
أعلى