<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 3.0

PHP и MySQL с Нуля до Гуру 3.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 9 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

В Бонусе «Создание сайта для библиотеки» Вы увидите применение знаний из основного курса при создании полноценного проекта.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Создание движка на MVC. Выводим страницы. Часть 1.

Создание движка на MVC. Выводим страницы. Часть 1.

Всем привет! Продолжаем строить собственное 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';

Итак, на этом сегодня остановимся. Мы уже сделали некоторый вывод на страницу, а в следующих статьях продолжим это улучшать. Спасибо за внимание и удачного кодинга!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (8):

kuller kuller 28.11.2014 13:39:21

надпись "это вид" должна появится на главной странице? (site.ru) У меня выводится надпись "Контроллер обработки ошибок" что не так? еще заметил "Перейдем в файл error.php, , который находится в папке error" вроде этот файл еще не создавали?

Ответить

dignity dignity 01.12.2014 23:13:29

"Для этого создайте файл model.php в папке libs." замените на "Для этого создайте файл Model.php в папке libs."... соответственно в "index.php" нужно написать вместо "require 'libs/model.php';" с большой буквы Model.

Ответить

kuller kuller 02.12.2014 07:31:55

Все равно не понятно. "Перейдем в файл error.php, , который находится в папке error" на каком этапе этот файл появился?

Ответить

Nosferatv Nosferatv 22.05.2015 16:59:57

Да, описание действий несколько не точное. :-)

Ответить

Ljubin Ljubin 25.08.2015 00:17:17

Народ, кто в тупике.!? Читайте строчку - "Перейдем в файл error.php, который находится в папке error..." как - "Перейдем в файл error.php, который находится в папке controller... "

Ответить

Sherzant Sherzant 03.09.2015 13:38:51

Во! Спасибо! А то тоже не понял куда впихнуть.

Ответить

mathetes mathetes 01.09.2016 07:29:10

Дойдя до конца этого урока у меня появилась 500 ошибка. Что-то сбилось с .htaccess. Работают только страницы с указанием роута. Например site.loc/index/ или site.loc/help/

Ответить

Teslic Teslic 17.10.2018 10:21:23

Я думаю нельзя использовать много одинаковых файлов типа index.php error.php

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.