MVC гэдийг эхлээд тайлбарлавал Model-View-Controller гэсэн 3 үгийн нийлбэр юм байна. Энэ гурван үгийг тус тусад нь орчуулбал:

  • Model-загвар (MySQL, data arrays)
  • View-харагдац (checkbox, text etc)
  • Controller-удирдлага (control the model and view)

MVC-д model нь өгөгдлийг удирдахад зориулагдсан бизнес дүрмийг болон аппликейшны мэдээллийг(өгөгдөл) дүрсэлдэг, view нь текст, сонгох нүд гэх хэрэглэгчийн харагдацийн элементүүдийг тодорхойлдог, controller нь model, view хоёрын хоорондын холбоог удирддаг.

Тэгэхээр MVC нь загвар, харагдац, удирдлагын нэгнийх нь өөрчлөлт нөгөөдөө хамгийн багаар нөлөөлдөг байхаар тусгаарлах зориулалт бүхий програмын архитектур юм. Энэ архитектурыг ашигласнаар хийгдсэн ажилаа сүүлд нь сайжруулах, засварлах, шинэ зүйл нэмэхэд маш хялбар болгож өгдөг сайн талтай.

За тэгээд MVC архитектурыг PHP-д хэрхэн ашиглахыг жишээн дээр үзүүлье. Энэхүү жишээ нь өгөгдлийн сан дахь мэдээг php ашиглан өгөгдлийн сантай холбогдож query-гээр мэдээгээ авч HTML хэлбэрээр дэлгэцэнд гаргаж буй болно.

MVC архитектурыг ашиглаагүй байхад:

<?php
mysql_connect(...);
$result = mysql_query('SELECT * FROM news ORDER BY article_date DESC');
?>
<html>
  <body>
    <h1>News Articles</h1>
	<?php while($row = mysql_fetch_object($result)) { ?>
		<h2><?php echo $row->headline ?></h2>
		<p><?php echo $row->body ?></p>
	<?php } ?>
  </body>
</html>

MVC архитектурыг ашиглахад:

Model:

<?php
function get_articles()
{
  mysql_connect(...);
 $result = mysql_query('SELECT * FROM news ORDER BY article_date DESC');

  $articles = array();
  while($row = mysql_fetch_objects($result)) {
	$articles[] = $row;
  }
  return $articles;
}
?>

Controller:

<?php
	$articles = get_articles();
	display_template('articles.tpl');
?>

View:

<html>
  <body>
    <h1>News Articles</h1>
	<?php foreach ($articles as $row) { ?>
		<h2><?php echo $row->headline ?></h2>
		<p><?php echo $row->body ?></p>
	<?php } ?>
  </body>
</html>

Доорх нэмэлт материалуудыг уншина уу: