ForBiz — Сборка сайта маркетплейс сервиса

Готовый сайт Фриланс Маркетплейса — 5500 рублей (в любой валюте по курсу)
Сборка, скрипт сайта фриланс биржи, готовое решение маркетплейса, (multivendor). Готовый сайт, чтобы организовать торговую площадку, онлайн-рынок товаров и услуг

View. PHP-шаблонизатор.

View. PHP-шаблонизатор.

Исторически сложилось так, что Cotonti использует шаблонизатор CoTemplate, что накладывает значительные ограничения на возможности самих шаблонов, даже несмотря на то, что за последние годы он стал намного удобнее.

Но мы знаем, что PHP сконструирован специально для ведения Web-разработок и его код может внедряться непосредственно в HTML.
PHP — сам по себе является не только очень мощьным языком программирования, но и самодостаточным шаблонизатором, позволяющим делать качественные шаблоны без ущерба для логики приложения.

Такой стиль шаблонизации на PHP называют «pure-шаблонизация», т.е. чистая шаблонизация, основанная на возможностях самого PHP.
Класс View позволяет использовать шаблоны на чистом PHP.

Преимущества:

— Чистый PHP будет работать быстрее шаблонизаторов (интрепретаторов), написанных на PHP, т.к. нет программной «прослойки» между PHP и шаблоном, выполнение которой, как ни крути, а требует рессурсов. Хотя, многие современные шаблонизаторы компилируют шаблоны в PHP код.

— PHP и есть шаблонизатор и в шаблоне доступны все его возможности.

— Не нужно изучать дополнительный синтаксис. Знания HTML и шести — десяти конструкций на PHP вполне достаточно для верстки шаблона почти любой сложности.

Недостатки:

— Кто то считает, что «ужасный синтаксис». По-моему — это весьма субъективно и зависит от личных предпочтений. В моделях и контроллерах он уже не выглядит настолько ужасным )

— Слишком много лишнего текста в шаблонах. Тоже зависит от личных предпочтений и субъективно.
Итак к делу.

По существу применение View состоит из двух шагов:

1. Ваш скрипт контроллера создает экземпляр View и объявляет переменные этого экземпляра.

2. Контроллер приказывает View воспроизвести данный вид используя шаблон.

Скрипт контроллера

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

// Для наглядности, у нас есть массив с данными о книгах
$data = array(
array(
‘author’ => ‘Hernando de Soto’,
‘title’ => ‘The Mystery of Capitalism’
),
array(
‘author’ => ‘Henry Hazlitt’,
‘title’ => ‘Economics in One Lesson’
),
array(
‘author’ => ‘Milton Friedman’,
‘title’ => ‘Free to Choose’
)
);

// теперь присваиваем данные по книгам экземпляру View
$view = new View();
$view->books = $data;

// и выполняем скрипт вида «booklist.php»
echo $view->render(‘library.booklist.php’);

Скрипт шаблона:

Теперь нам нужен сопутствующий скрипт шаблона «library.booklist.php». Это такой же скрипт PHP, как и остальные, за одним исключением: он выполняется в области видимости экземпляра View, это означает, что $this ссылается на экземпляр View. Переменные, присваиваемые в контроллере для скрипта вида, являются открытыми свойствами экземпляра View. Таким образом, базовый скрипт вида может выглядеть следующим образом:

Список книг

 

 

Author Title

 

Нет книг для отображения.

 

Класс View также подерживает присваивание переменных в стиле CoTemplate:

$view->assign(array(
‘PAGE_TITLE’ => $title,
‘BREADCRUMBS’ => cot_breadcrumbs($crumbs, cot::$cfg[‘homebreadcrumb’]),
));

что аналогично:

$view->PAGE_TITLE = $title;
$view->BREADCRUMBS = cot_breadcrumbs($crumbs, cot::$cfg[‘homebreadcrumb’]);

Основные методы класса View:

render($viewFile, $type = ‘module’, $admin = null, $return = true)

Рендерит HTML код из шаблона и полученных данных.Принимает следующие параметры:

$viewFile — имя файла шаблона. Если не указано расширение или оно не входит в свойство класса $_extensions, будет использовано «.php».
$type — тип расширения. Может быть ‘plug’, ‘module’ or ‘core’
$admin — использовать файл admin-темы, если возможно. По умолчанию эту опцию метод пытается определить исходя из параметра $viewFile
$return — Вернуть готовый HTML-код в виде строки (если TRUE) или выполнить require($viewFile)

Файл шаблона ищется по тем же правилам, что и при использовании функции cot_tplfile() для CoTemplate.

addScriptPath($path, $prepend = true)

Добавить дополнительный путь для поиска шаблонов.

$path — Путь к папке с шаблонами.
$prepend — Поместить путь в начало стека.

scriptFile($base, $type = ‘module’, $admin = null)

Ищет и возвращает полый путь к файлу шаблона или false, если шаблон не найден. Параметры аналогичны методу render();

Если, у Вас еще нет своего хостинга, то не парьте себе мозг !

Сам перепробывал много хостинг-услуг, - просто берите beget-хостинг (для России и Украины просто отличный вариант) Тариф "Старт" - оптимально и даже очень не дорого по ссылке https://beget.com/ru/order/start или клик по картинке

к тому же, тестирование на месяц бесплатно + сервисный домен - (свой домен прикрепить и протестирвать можно даже на бесплатном тестовом периоде хостинга)

Aльтернатива, если вам нужен хостинг именно в Украине, - ukraine.com.ua

Поддержите проект

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

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

Внимание, Новинка!

Маркетплейс «MastersCity» готовый сайт
Универсальное современное решение с адаптивным дизайном.
Задать вопрос перед покупкой