In this article am going to explain about the basics of MVC in PHP includes what it is,the basic structure and implementation of MVC in PHP. Hope it helps for beginners.
What is MVC ?
- Model-View-Controller (MVC) is an architectural pattern used in software engineering.
- Model represents the information on the application.
- View resembles to elements of the user interface such as text,button and so on.
- Controller executes the intercommunication of data and business rules used to manage the data to and from the model
A pictorial representation of MVC pattern.
Let’s start with a basic example using MVC in PHP
- First we have to create a folder named application inside the www folder in Wamp server.if you are using Wamp server.
- Inside the application folder create model,view and controller folders and PHP file named index.
Controller
Create a Controller.php file inside the folder controller and copy the following code into it.
[sh lang=”php”]
<?php
include_once(“model/Model.php”);
class Controller {
public $model;
public function __construct()
{
$this->model = new Model();
}
public function invoke()
{
$reslt = $this->model->getlogin(); // it call the
getlogin() function of model class and store the return value of this
function into the reslt variable.
if($reslt == ‘Welcome to seamedia’)
{
include ‘view/Welcome.php’;
}
else
{
include ‘view/login.php’;
}
}
}
?>[/sh]
Model
Create a Model.php file inside the folder model and copy the following code into it.
[sh lang=”php”]
<?php
include_once(“model/Model.php”);
class Model
{
public function getlogin()
{
if(isset($_REQUEST[‘user’]))
{
if($_REQUEST[‘user’]==’seamedia’)
{
return ‘Welcome to seamedia’;
}
else
{
return ‘Not applicable’;
}
}
}
}
?[/sh]
View
Create two PHP files login.php and Welcome.php file inside the folder view and copy the following code into it.
login.php
[sh lang=”php”]
<html>
<head></head>
<body>
<?php
echo $reslt;
?>
<form action=”” method=”POST”>
<p>
<label>User</label>
<input id=”user” value=”” name=”user” type=”text” required=”required”/><br>
</p>
<p>
<button type=”submit” name=”submit”><span>Login</span></button>
<button type=”reset”><span>Cancel</span></button>
</p>
</form>
</body>
</html[/sh]
Welcome.php
[sh lang=”php”]
<html>
<head></head>
<body>
<?php
echo $reslt;
?
</body>
</html>[/sh]
index.php
Open index.php and copy the following code.
[sh lang=”php”]
<?php
include_once(“controller/Controller.php”);
$controller=new Controller();
$controller->invoke();
?[/sh]