Home >Backend Development >PHP Tutorial >A simple PHP MVC demonstration_PHP tutorial
To better demonstrate how MVC works, we use a simple news article publishing system as an example. There are two methods: using MVC and not using MVC. We only make a basic demonstration, reading some article lists from the database and displaying them on the page. The general process is to connect to the database, query the database, and output html results in a loop. The code below does just that.
<?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>
The MVC method is as follows.
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>
Writing PHP code directly into HTML files does not feel very professional or safe. You will encounter some other problems when using MVC, such as template parsing, routing and forwarding, etc., but these are discussed later. Here is just a simple demonstration of the MVC process.