PHP Микрофреймворк HLEB

Скачать (90 KB)Скачать c GitHub
Предназначение Установка Настройка Структура проекта Маршрутизация Типы маршрутов Группы маршрутов Защита маршрутов Конструктор страниц Контроллеры Модели Получение данных Базы данных Дополнительно

Конструктор страниц

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

Чтобы объявить соединение файлов под определенным названием используется метод маршрутизатора renderMap().

Метод renderMap()

Этот метод имеет два обязательных аргумента, первый принимает название соединения в качестве строчного значения, второй принимает путь к файлу из папки "views" или же нескольким файлам из той же папки, но добавленных в качестве массива значений. Например, можно объявить соединение частей страницы под одним названием и в дальнейшем использовать это название для отображения всей страницы в маршрутизаторе. При этом соединяемые файлы должны быть изначально независимы друг от друга и назначаться в той последовательности, в которой будут объединены. Объявляемое название должно быть уникальным, а наборы файлов могут быть произвольными.
Route::renderMap('index page', ['/parts/header', 'index', '/parts/footer']);
Теперь можно указать созданный набор в методе get(), но вместо функции view() используется функция render().

Функция render()

Единственное отличие функции render() от функции view() заключается в первом аргументе - он может принимать как одно объявленное конструктором название, так и массив названий, очередность которых соответствует желаемой последовательности отображения именованных наборов файлов. Второй необязательный аргумент передает массив переменных маршрута со значениями, аналогично реализации в view().

Отображение объявленного названия "index page":
Route::get('/', render('index page'));
При обращении к корневому URL сайта произойдёт сборка файлов из набора "index page" в качестве результирующих данных.

Или, при наличии нескольких наборов, можно указать их соединение:
Route::get('/page/', render(['Map1', 'Map2', 'Map3']));
Функция render() доступна и как возвращаемое значение контроллера.
// Файл /app/Controllers/TestController.php namespace App\Controllers; class TestController extends \MainController { function index() { return render('Map', ['x' => 59.9, 'y' => 30.3]); } }
Аналогично view() функция render() может принимать в качестве второго параметра массив передаваемых значений.



Предназначение Установка Настройка Структура проекта Маршрутизация Типы маршрутов Группы маршрутов Защита маршрутов Конструктор страниц Контроллеры Модели Получение данных Базы данных Дополнительно


HLEB - PHP Микрофреймворк Свободная лицензия. Без гарантий. © fomiash 2019