Создание сайта с помощью фреймворка HLEB. Часть 1. Планирование и установка.

17 Сентября 2022 (ред)

(!) Примеры и описание для более новой версии фреймворка HLEB2 могут отличаться от приведенных в тексте.

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

Если вы сомневаетесь, посмотрите на сайт phphleb.ru , это инструкция по фреймворку (сделана на нём же) и мне иногда даже самому бывает не по себе, насколько быстро переключаются страницы инструкции, ведь современные сайты не отличаются быстротой загрузки. Такое ощущение, что им (разработчикам этих ресурсов) невдомёк, что у многих пользователей скорость интернета не такая, как у них в офисе. Но речь не об этом, второй пример, этот блог, он также основан на микрофреймворке HLEB и, несмотря на множество настроек и вариаций, ведь это сервис-конструктор, а не изготовленный под один эскиз сайт, несмотря на все это скорость его работы остается высокой.

Планирование

Необходимо сначала создать план работ. Возможно, что вы уже задумали, как сайт будет выглядеть и оставалось только подыскать фреймворк, тем не менее предварительное планирование создает основу по-умолчанию, которая в дальнейшем может измениться (если вас часто посещают творческие идеи). Поэтому здесь и далее опишу, как создавать бекенд проекта, а потом скромно постою в сторонке, предоставив действовать вам.

Рабочее название проекта будет "Лайкер", так как в нём будет реализован подсчет лайков пользователей, версия 1.0

Итак, для простого сайта нам обязательно нужно настроить:

  • Роутинг (Маршрутизация) - это способы сопоставления частей URL c назначенными действиями. Например, если вы запросите ocrmnolblog.ru/@fomiash маршрутизатор определит, что это запрос пользователя и отправит в нужный Контроллер, где уже будет выясняться, какой именно пользователь (это мой аккаунт). Пусть вас не смущает символ @ в запросе, это правило применимо ко всем URL сайта, например /blog/php-framework-hleb будет указывать на список блогов и потом на конкретный.

Нужно создать как минимум один контроллер:

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

Отправить ответ пользователю:

  • Генерация ответа (HTML-страницы, XML-данные, JSON-ответы и тд и тп) - после того, как Контроллер соберет нужные данные, возможно даже послав запросы в базу данных, он отправит их в заготовленный макет, собрав ответ на запрос пользователя.

Как видно, описанные части отвечают модели MVC (Модель, Представление, Контроллер), где Модель - это запрос в БД или иной способ получения информации по запросу, Представление - шаблон ответа и Контроллер достаточно уже был описан.

Для того, чтобы задействовать все эти определения, нужно (подразумевается, что база данных и PHP>=7.1 уже вопросы решённые, а также установлен Composer):

  • Установить фреймворк и настроить веб-сервер чтобы запустить на нём проект.
  • Создать маршрутизацию с четырьмя страницами - Home page (Главная страница), Contacts (Контакты), User (Страница пользователя) и Privacy Policy (Политика конфиденциальности). Представим, что это лендинг или ваше портфолио-резюме, где основная информация на главной странице или самый абсурдный вариант - приложение для подсчета лайков пользователей. Так что, на всякий случай для пользователей добавим учет лайков, возможно в дальнейшем вы захотите добавить комментарии самостоятельно.
  • Подключить базу данных и настроить соединение.
  • Добавить регистрацию пользователей (есть специальная библиотека).
  • Создать контроллеры для обработки нужных страниц.
  • Оформить Представление для показа страниц.
  • Создать консольную команду. Она не так уж и нужна, но опыт создания пригодится.

Установка

В документации фреймворка есть подробный раздел Установка, поэтому не буду повторяться, добавлю только, что для установок на XAMPP или OpenServer нужно обратится к документации этих программ. По последнему есть инструкция в этом блоге. Если у вас какой-то особенный квест по установке, обратитесь в поддержку фреймворка в Telegram, если кто-то сталкивался с подобной ситуацией, может помочь. На данном этапе действия мало отличаются от какого-либо типа фреймворка, по крайней мере может быть похоже на установку того же Laravel (очень много информации об этом).

Скачать все файлы урока в ZIP-архиве

Продолжение. Часть 2

fomiash fomiash + 221
Опубликовано в PHP фреймворк HLEB

1 Ответ

  1. fomiash fomiash 08 Декабря 2022 (ред.)

    Инструкция по настройке работы фреймворка для Open Server Panel



Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.