В шаблонизаторе фреймворка Laravel, мне очень понравилась как они разделяют части шаблона на разные блоки не трогая при этом главный файл шаблона который самый последний выводится и подключает в себя все блоки. Создается главный файл, в нем каркас сайта подключается стили, скрипты и т.д. и в участке где должен быть динамичный контент который будет вызывается в зависимости от текущего URL или запрашиваемой информации стоит вызов данных из блоков(секции) @view_section(content). И все, главный файл вы не трогаете а работаете и вызываете остальных а уже в этих остальных файлов, указываете какому файлу они принадлежат.Далее...
Продолжаем статью о PHP шаблонизаторе Miranda. В прошлой статье, мы узнали как создавать переменные и выводить их в фале шаблона. Как вы поняли если с помощью шаблонизатора работать сразу с PHP файлами то все функции которые доступны в PHP, вы можете использовать в файле шаблона. Но, что же делать если вам нужно избавится от PHP кода в своем шаблоне? Тогда вам нужно вызывать файлы шаблона которые содержат расширение .tpl . Эти файлы будут отправлены в искусственный компилятор шаблонизатора, после обработки всех методов конвертации данных из TPL в PHP, полученный код будет сохранен в папку templates / compiled с расширением .php
Если работать с TPL файлами, принцип создания переменных остается прежним. Можно воспользоваться $this->variable_name = 'variable value' и переменная создана. Другое дело синтаксис вывода данных в шаблон.Далее...
Хочу представить вам мой небольшой проект, шаблонизатор под названием Miranda. Начну с самого начало. Где-то года два назад я встретил статью одного программиста, он описывал работу над своим собственным шаблонизатором, в то время я работал с Smarty. Мне было интересно следить за развитием его проекта, но вскоре у меня отнялась всякое желание делать проекты пользуясь шаблонизаторами. Переписать проекты которые уже есть на Smarty мне не хотелось, решил поддерживать их как есть, до какого-то времени. Недавно, мой интерес к шаблонизаторам вернулся, причиной тому стала восхищение собственного шаблонизатора в молодом фреймворке Laravel.
В нем есть все, что мне нужно и я активно перешел на пользования шаблонизатора которого предостовляет мне фреймворк laravel. Недавно мне понадобилась написать простенький сайт, но без использования фреймворка работая в паре с дизайнером который не понимает PHP. Он его знает, но я не доверяю вставку в своем сайте чужого php кода. Вот и пришла идея написать шаблонизатор, как основу и вдохновение я взял принципы шаблонизатора Laravel. Сразу хочу сказать, что код от туда не выдергивал (можете проверить :) ) мне понравился принцип работы, а уже сам код я в удовольствие напишу и сам.Далее...
На данный момент он выдает:
- Название браузера
- Версия браузера
- Название операционной системы
- Версия/ядро операционной системы
- IP посетителя
- проверка: зашел ли пользователь с браузера
- проверка: зашел ли пользователь с мобильного устройства
- Название марки/ос/браузера мобильного телефона, смартфона, планшета
- проверка: является ли посетитель роботом поисковых систем
- Какой поисковой системы принадлежит робот