mvc در php چیست

mvc در php چیست

نمونه اسکریپت ایجاد یک چارچوب ساده MVC در PHP


در دنیای توسعه وب، ساختارهای سازمان‌یافته و قابل نگهداری اهمیت بسیار زیادی دارند، مخصوصاً زمانی که پروژه‌ها بزرگ‌تر و پیچیده‌تر می‌شوند. یکی از الگوهای معماری رایج و پرکاربرد در توسعه برنامه‌های وب، الگوی مدل-نما-کنترلر یا همان MVC است. این الگو با جداسازی بخش‌های مختلف برنامه، امکان توسعه، نگهداری و مقیاس‌پذیری را بسیار آسان‌تر می‌کند.
در این مقاله، قصد دارم یک نمونه اسکریپت ساده برای پیاده‌سازی چارچوب MVC در PHP را به صورت کامل و جامع توضیح دهم. این نمونه، هدفش آموزش است و در پروژه‌های واقعی، نیاز به بهبود و توسعه دارد، اما برای فهم اولیه و شروع کار، بسیار مناسب است.

مفهوم پایه MVC




قبل از شروع، باید بدانیم که MVC یعنی چه و هر قسمت چه وظایفی دارد:
- مدل (Model): مسئولیت مدیریت داده‌ها، منطق برنامه و ارتباط با بانک اطلاعاتی را بر عهده دارد. در این قسمت، داده‌ها دریافت، ذخیره و به‌روزرسانی می‌شوند.

- نما (View): بخش ظاهری و نمایشی برنامه است. در این قسمت، داده‌های رسیده از مدل، به شکل قابل فهم و زیبا نمایش داده می‌شوند.

- کنترلر (Controller): نقش هسته‌ای در درخواست‌ها دارد. درخواست‌های کاربر را دریافت می‌کند، با مدل ارتباط برقرار می‌کند و نتیجه را به نما می‌فرستد.

ساختار فایل و پوشه‌ها




برای پیاده‌سازی این چارچوب، ساختار ساده‌ای به صورت زیر پیشنهاد می‌شود:


mvc/



├── index.php

├── controllers/

│ └── HomeController.php

├── models/

│ └── User.php

└── views/

└── home.php


در این ساختار، فایل `index.php` به عنوان نقطه شروع برنامه عمل می‌کند و درخواست‌ها را هدایت می‌کند. پوشه‌های `controllers`، `models` و `views` برای نگهداری کنترلرها، مدل‌ها و نماها طراحی شده‌اند.
---

مرحله اول: فایل `index.php` – نقطه ورود




در این فایل، ابتدا باید درخواست‌های کاربر را تحلیل کنیم و مسیر مناسب را برای فراخوانی کنترلر و اکشن تعیین کنیم. برای ساده‌سازی، فرض می‌کنیم درخواست‌ها به صورت پارامتر `?page=` ارسال می‌شود.
php  

<?php

// به عنوان نقطه ورود، درخواست‌ها را مدیریت می‌کنیم

// مسیریابی ساده بر اساس پارامتر GET
// تعیین کنترلر و اکشن پایه

$controllerName = isset($_GET['page']) ? $_GET['page'] : 'home';

$controllerClass = ucfirst($controllerName) . 'Controller';
// ساخت مسیر فایل کنترلر

$controllerFile = 'controllers/' . $controllerClass . '.php';
if (file_exists($controllerFile)) {

require_once $controllerFile;
if (class_exists($controllerClass)) {

$controller = new $controllerClass();

// فرض بر این است که کنترلر تابع پیش‌فرض به نام index دارد

$controller->index();

} else {

echo "کنترلر پیدا نشد.";

}

} else {

echo "صفحه مورد نظر یافت نشد.";

}

?>


در این بخش، درخواست‌ها به صورت ساده تجزیه می‌شوند و کنترلر مناسب بارگذاری می‌شود. حالا باید کنترلرها و مدل‌ها را تعریف کنیم.
---

مرحله ... ← ادامه مطلب در magicfile.ir
باکس دانلود (mvc در php چیست)
دانلود

پیشنهاد برای دانلود ( mvc در php چیست )

برای دانلود کردن اینجا را کلیک فرمایید

نظرات کاربران (۳)

مریم احمدی

عالی بود .. با تشکر