Создание фреймворка. Виды и шаблоны. Урок 4

Создание фреймворка

От автора: приветствую вас, друзья. Продолжим создание собственного PHP фреймворка. По итогу мы должны получить вполне функциональное решение, а заодно познакомиться с принципами работы современных PHP фреймворков. В этом уроке мы реализуем функционал шаблонов, видов, а также передачи данных из контроллера в вид.

скачать исходникискачать урок

В видео версии урока вы найдете ответы на такие вопросы:

В чем разница между шаблонами и видами?

Бесплатный курс по PHP программированию

Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Как реализовать автоматическое подключение шаблона и вида?

Как изменить подключаемые по умолчанию шаблон и вид?

Как отменить подключение шаблона и вида?

Как передать данные из контроллера в вид и шаблон?

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (10)

  1. Alexey

    Подскажите пожалуйста как можно узнать имя класса который наследует базовый класс Db

  2. Александр

    Для переключения шаблонов нужно в админке предусмотреть эту возможность (пользователи не полезут в код) и неплохо-бы подключить редактор «CodeMirror» что даст возможность править шаблон непосредственно на хосте …для контента подключить визуальный редактор,…(функционал сайт определяется функционалом админки) иначе для добавления какой-то возможности придётся лезть в код шаблона и т.д.

    • Андрей Кудлай

      Александр, Вы путаете фреймворк и CMS. Это в CMS все делается из админки и делается, собственно, сама админка. Мы же пишем фреймворк, т.е. средство, упрощающее создание CMS, средство для разработчиков CMS, которые уже могут предусмотреть выбор шаблона в админке. В этом и заключается ключевая разница: CMS создана в первую очередь для пользователей, не разбирающихся в веб-разработке, а фреймворки созданы исключительно для веб-разработчиков, а не для рядовых пользователей.

  3. Денис

    Спасибо за уроки, решили, будете продолжать или нет? В видео можно делать ссылки на другие уроки, к примеру рассказывая про регулярки сделав ссылку на уроки по регулярным выражениям. Даст доп траф, своеобразная переленковка.

    • Андрей Кудлай

      Пожалуйста) Да, продолжение уже записано и скоро будет опубликовано. За совет спасибо.

  4. Dima

    Уважаемый Андрей добрый день, есть такой вопрос:
    - В уроке вы переопределили для класcа Main 2 свойства:
    public $layout = ‘main’;
    public $view = ‘test’;
    У меня переопределяется только $layout. А $view отсается прежним т.е. не ‘test’ а ‘index’.
    При распечатке в видео-уроке этот момент виден:
    var_dump($layout);
    var_dump($view);
    Также скачал исходники урока, и получилось тоже саоме.
    Не понимаю почему не меняется $view?
    Спасибо за ваш труд, очень качественно!

    • Андрей Кудлай

      Здравствуйте, Дмитрий.
      Сложно что-то подсказать, здесь нужно смотреть код. Ради интереса скачал исходники — такой проблемы нет, вид и шаблон без проблем переопределяются. Если ошибку все же не найдете, тогда на форуме можете задать вопрос и дать ссылку на архив с Вашим проектом, я попробую посмотреть.

  5. Максим Ральянов

    У меня тоже самое, если переопределять view на уровне всего класса — то непереопределяется, если же переопределить на уровне экшена — то все работает. А в уроке Вы действительно на уровне класса переопределили только layout? на 35.24 секунде это четко видно.

    • Максим Ральянов

      Разобрался.
      Переопределилв конструкторе
      public function __construct($route)
      {
      parent::__construct($route);
      $this->view = ‘test’;
      }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree