فهم عميق لآلية عمل 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
المشاهدات
736
x32x01
x32x01
x32x01
الردود
0
المشاهدات
159
x32x01
x32x01
x32x01
الردود
0
المشاهدات
449
x32x01
x32x01
x32x01
الردود
0
المشاهدات
602
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
801
x32x01
x32x01
x32x01
الردود
0
المشاهدات
767
x32x01
x32x01
x32x01
الردود
0
المشاهدات
773
x32x01
x32x01
x32x01
الردود
0
المشاهدات
612
x32x01
x32x01
x32x01
الردود
0
المشاهدات
362
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,831
المشاركات
2,028
أعضاء أكتب كود
463
أخر عضو
adil
عودة
أعلى