
معرفی الگوی (Model-View-Control (MVC
الگوی (Model-View-Control (MVC ، که در ابتدا در اواخر دهه 1970 شکل گرفت ، در واقع MVC یک الگوی توسعه نرم افزاری است که با استفاده از آن می توانید عملکرد، منطق، رابط و تمام بخش های برنامه خود را در هر زبان برنامه نویسی با استاندارد های شی گرایی پیش ببرید و بهترین عملکرد را از برنامه خود بگیرید.
از نظر تئوری ، یک سیستم MVC به خوبی توسعه یافته باید به یک توسعه دهنده front-end و توسعه دهنده back-end اجازه دهد تا روی سیستم کار کند بدون اینکه دخالتی در کد ها و یا به همریختگی در کد ها شکل بگیرد ، به اشتراک گذاری یا ویرایش پرونده هایی که طرفین روی آن کار می کنند بدون به هم ریختگی ادامه یابد .
حتی اگر MVC در ابتدا برای محاسبات شخصی طراحی شده بود ، به دلیل تأکید بر جداسازی و نگرانی ها ، قابل استفاده مجدد بودن کدها ، توسط توسعه دهندگان وب بسیار مورد استفاده قرار گرفته است.
این الگوی ، توسعه سیستم ها را به صورت ماژولوار ترغیب می کند و توسعه دهندگان این امکان را می دهد که به سرعت کد های خود را بروزرسانی ، اضافه یا حتی حذف کنند .
در این مقاله ، من به اصول اساسی MVC خواهم پرداخت ، اجرای آن با تعریف الگوی و مثال سریع MVC در PHP است . این قطعاً برای هر کسی که قبلاً با MVC کدنویسی نکرده است یا افرادی که مایل به مهارت های در توسعه برنامه خود بر مبنای معماری MVC هستند ، آماده شده است.
- درک مفاهیم اولیه MVC
- بکارگیری MVC در PHP

کمی بیشتر در مورد mvc بدانیم ...
درک کردن الگوی MVC در برنامه نویسی مقاله
درک کردن الگوی MVC در برنامه نویسی
عنوان الگوی مجموعه ای از سه بخش اصلی آن تشکیل شده است: Model، View و Controller. یک الگوی MVC کامل و صحیح مانند نمودار زیر است:
این تصویر نمودار جریان داده را نشان می دهد ، نحوه عبور آن بین هر مؤلفه ، و در نهایت نحوه ارتباط بین هر مؤلفه را نشان می دهد.
اگر درک درستی از تصویر بالا نداشتید به تصویر زیر نگاهی بیندازید :
آشنایی با مدل Model در الگوی MVC مقاله
آشنایی با View در الگوی MVC مقاله
آشنایی با Controller ها در الگوی MVC مقاله

آموزش کاربردی
توضیحات و مثال مقاله
نوشتن یک برنامه وب در PHP که معماری آن بر اساس الگوی MVC است به راحتی امکان پذیر است . بیایید با یک مثال ساده شروع کنیم:
<?php
class Model
{
public $string;
public function __construct(){
$this->string = "MVC + PHP = Awesome!";
}
}
در کد های بالا ما متغیری با نام
ایجاد کردیم $string
$this->string و سپس با نشانگر
آن را مقدار دهی کردیم
<?php
class View
{
private $model;
private $controller;
public function __construct($controller,$model) {
$this->controller = $controller;
$this->model = $model;
}
public function output(){
return "<p>" . $this->model->string . "</p>";
}
}
در توابع بالا باید دو مقدار
$controller
$model
ابتدا مقدار دهی شوند چون در تابع
__construct
قرار گرفته اند - در غیراینصور کلاس قایل استفاد نیست ! برای مثال
---------------- مثال ----------------
$View = new View ( 1 , 1);
---------------- اتمام مثال ----------------
ما پروژه خود را با چند کلاس بسیار اساسی برای هر بخش از این الگو شروع کرده ایم. حال باید روابط بین آنها را تنظیم کنیم:
$model = new Model();
$controller = new Controller($model);
$view = new View($controller, $model);
echo $view->output();
همانطور که در مثال بالا مشاهده می کنید ، ما هیچ عملکردی خاص برای کنترل نداریم زیرا هیچگونه تعامل کاربر با برنامه ما تعریف نشده است. این نمایش همه عملکردها را در اختیار دارد ، به عنوان مثال صرفاً برای اهداف نمایش است.
بیایید مثال را مثال بزنیم تا نشان دهیم چگونه می توانیم عملکرد را به کنترلر اضافه کنیم ، در نتیجه تعامل به برنامه اضافه می شود:
class Model
{
public $string;
public function __construct(){
$this->string = “MVC + PHP = Awesome, click here!”;
}
<?php
class View
{
private $model;
private $controller;
public function __construct($controller,$model) {
$this->controller = $controller;
$this->model = $model;
}
public function output() {
return '<p><a href="mvc.php?action=clicked"' . $this->model->string . "</a></p>";
}
<?php
class Controller
{
private $model;
public function __construct($model){
$this->model = $model;
}
public function clicked() {
$this->model->string = “Updated Data, thanks to MVC and PHP!”
}
}
ما برنامه را با برخی عملکردهای اساسی بهبود داده ایم. تنظیم رابطه بین مؤلفه های ما اینگونه است:
<?php
$model = new Model();
$controller = new Controller($model);
$view = new View($controller, $model);
if (isset($_GET['action']) && !empty($_GET['action'])) {
$controller->{$_GET['action']}();
}
echo $view->output();
کد را اجرا کنید و وقتی روی پیوند کلیک کنید ، می توانید رشته را تغییر داده داده خود را مشاهده کنید.
ضمانت بازگشت وجه ۷ روزه بدون ریسک
در صورت عدم تطابق دوره با سرفصلها، وجه پرداختی شما را بازگشت خواهیم داد.
دوره های مرتبط
فعال کردن https در لاراول
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
آموزش ساده و کاربردی زبان برنامه نویسی PHP
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
نظرات
رایگان!

شمشاد امیری خراسانی
Senior Software Developerبرنامه نویس آزاد