В этой статье я собираюсь объяснить основы MVC в PHP, включая то, что это такое, базовую структуру и реализацию MVC в PHP. Надеюсь, это поможет новичкам.

Что такое MVC?

  • Модель-Представление-Контроллер (MVC) — это архитектурный шаблон, используемый в программной инженерии.
  • Модель представляет информацию о приложении.
  • Представление похоже на элементы пользовательского интерфейса, такие как текст, кнопка и так далее.
  • Контроллер выполняет межкоммуникацию данных и бизнес-правил, используемых для управления данными, поступающими в модель и выходящими из нее.

Иллюстративное представление паттерна MVC.

Давайте начнем с простого примера, используя MVC в PHP.

  • Сначала нам нужно создать папку с именем application внутри папки www на сервере Wamp, если вы используете сервер Wamp.
  • Внутри папки приложения создайте папки model, view и controller, а также PHP-файл с именем index.

Контроллер

Создайте файл Controller.php внутри папки controller и скопируйте в него следующий код.

[sh lang="php"]

<?php

include_once("model/Model.php");

class Controller {

public $model;

public function __construct()

{

$this->model = new Model();
}

публичная функция вызвать()

{

$reslt = $this->model->getlogin();     // это вызывает
функцию getlogin() класса модели и сохраняет возвращаемое значение этой
функции в переменной reslt.

if($reslt == ‘Добро пожаловать в seamedia’)

{

включить ‘view/Welcome.php’;

}

иначе

{

включить ‘view/login.php’;

}

}

}

?>[/sh]

Модель

Создайте файл Model.php внутри папки model и скопируйте в него следующий код.

[sh lang="php"]

<?php

include_once("model/Model.php");

класс Модель

{

public function getlogin()

{

if(isset($_REQUEST[‘user’]))

{

if($_REQUEST[‘user’]==’seamedia’)

{

return ‘Добро пожаловать в seamedia’;

}

иначе

{

вернуть ‘Не применимо’;

}

}

}

}

?[/sh]

Просмотр

Создайте два файла PHP login.php и Welcome.php внутри папки view и скопируйте в них следующий код.

login.php

[sh lang="php"]

<html>

<head></head>

<body>

<?php

echo $reslt;

?>

<form action=”” method=”POST”>

<p>

<label>Пользователь</label>

<input id=”user” value=”” name=”user” type=”text” required=”required”/><br>

</p>

<p>

<button type=”submit” name=”submit”><span>Войти</span></button>

<button type=”reset”><span>Отмена</span></button>

</p>

</form>

</body>

</html[/sh]

Добро пожаловать.php

<html>
<head></head>

<body>

<?php

echo $reslt;

?

</body>
</html>[/sh]

index.php

Откройте index.php и скопируйте следующий код.

[sh lang="php"]
<?php

include_once("controller/Controller.php");

$controller=new Controller();

$controller->invoke();

?[/sh]

Выходные данные