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

x32x01
  • بواسطة x32x01 ||
  • #1
💡 نظام 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
المشاهدات
892
x32x01
x32x01
x32x01
الردود
0
المشاهدات
684
x32x01
x32x01
x32x01
الردود
0
المشاهدات
221
x32x01
x32x01
x32x01
الردود
0
المشاهدات
490
x32x01
x32x01
x32x01
الردود
0
المشاهدات
436
x32x01
x32x01
الوسوم : الوسوم
controller model mvc pdo php view برمجة الويب تطبيقات الويب قاعدة البيانات هيكلة المشاريع
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى