فهم عميق لآلية عمل 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
المشاهدات
183
x32x01
x32x01
x32x01
الردود
0
المشاهدات
813
x32x01
x32x01
x32x01
الردود
0
المشاهدات
623
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
459
x32x01
x32x01
x32x01
الردود
0
المشاهدات
777
x32x01
x32x01
x32x01
الردود
0
المشاهدات
644
x32x01
x32x01
x32x01
الردود
0
المشاهدات
784
x32x01
x32x01
x32x01
الردود
0
المشاهدات
744
x32x01
x32x01
x32x01
الردود
0
المشاهدات
592
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,827
المشاركات
2,025
أعضاء أكتب كود
468
أخر عضو
عبدالله احمد
عودة
أعلى