Всем привет! Продолжаем строить собственное MVC приложение , и сегодня мы начнем заниматься выводом страниц.
Всем привет! Продолжаем строить собственное MVC приложение, и сегодня мы начнем заниматься выводом страниц.
Создадим файл View.php в папке libs.
<?php
class View {
public function __construct() {
echo 'Это вид';
}
}
?>
Теперь откроем наш главный файл index.php и подключим его.
require 'libs/View.php';
Открыв страницу, мы должны увидеть надпись "Это вид".
Теперь немного изменим наш класс, отвечающий за вид, добавив метод render, который будет заниматься выводом.
<?php
class View {
public function __construct() {
echo 'Это вид';
}
public function render($name) {
require 'views/'.$name.'.php';
}
}
?>
Теперь создадим папки index и error в папке views. Они будут отвечать за представление index страницы и страницы ошибок. В папке error создадим новый index.php файл и пропишем следующее
<?php require 'views/header.php'; ?>
Это страница ошибки!
Теперь создадим файл header.php в самой папке views с таким содержанием
<html>
Header
<body>
Перейдем в файл error.php, который находится в папке error и добавим в конструктор вызов метода render.
<?php
public function __construct() {
// код
$this->view->render('error/index');
}
?>
Теперь на странице мы увидим "Header Это страница ошибки!"
Давайте немного улучшим наш контроллер, добавив к нему перед вызовом метода render следующее:
<?php
public function __construct() {
// код
$this->view->msg = 'Страницы не существует!';
$this->view->render('error/index');
}
?>
А теперь в файле index.php, который отвечает за вид ошибки, вместо нашей надписи "Это страница ошибки!" выведим то, что хранится в свойстве msg.
<?php require 'views/header.php'; ?>
<hr>
<?php echo $this->msg; ?>
Теперь нам вывелась наша надпись.
Давайте теперь создадим модель help_model.php в папке models.
<?php
class Help_Model extends Model {
public function __construct() {
echo 'Модель help_model';
}
}
?>
Теперь откроем контроллер help.php из папки controllers и добавим вызов нашей модели
<?php
class Help extends Controller {
// код
public function other($arg = false) {
// код
require 'models/help_model.php';
$model = new Help_Model();
}
}
?>
Дальше нужно создать базовую модель. Для этого создайте файл model.php в папке libs.
<?php
class Model {
public function __construct() {
// $this->database = new Database();
}
}
?>
Наша модель будет работать с базой данных, но пока что закомментируем это, т.к. у нас еще нет базы данных.
Подключим нашу базовую модель в нашем главном файле index.php.
require 'libs/Bootstrap.php';
require 'libs/Controller.php';
require 'libs/model.php';
require 'libs/View.php';
Итак, на этом сегодня остановимся. Мы уже сделали некоторый вывод на страницу, а в следующих статьях продолжим это улучшать. Спасибо за внимание и удачного кодинга!
