PHP Microsite Boilerplate
PHP Microsite Boilerplate - это структура PHP для создания простых, но сильно функциональных, быстрых и безопасных веб -сайтов в целом в каждой среде.
Большинство каркасов и даже кобортов требуют исчерпывающего процесса настройки, где вам необходимо установить несколько зависимостей. Это приводит к огромным накладным накладным расходам кода, который вам часто не нужен. Вся эта сложность также является потенциальным риском для вашего сайта. Кроме того, часто невозможно использовать большинство решений, если вам нужно развернуть его в самом дешевом плане общего хостинга.
Этот проект хочет предоставить вам структуру и шаблон для этого точного случая:
- Вам нужно создать довольно небольшой веб -сайт с некоторой функциональностью.
- Вы выбираете PHP, потому что вы хотите выполнять сценарии на стороне сервера, в то время как PHP также, возможно, является единственным языком, который работает в основном на всех вариантах хостинга.
- Вы строите эту вещь самостоятельно или с максимум 1 другого человека, что делает лучшую практику, но сложную структуру кода более ненужные накладные расходы, чем полезная концепция.
- Вы должны сделать это быстро, в то время как вы не хотите идти на компромиссы в отношении безопасности или производительности.
- Поэтому вы не очень заботитесь о чистом коде;).
Демонстрация: https://phpmicrosite.jenskuerschner.de/
Ключевые функции
- Легкая маршрутизация.
- Прогрессивное веб -приложение (PWA) подготовлено.
- Многожелательно подготовлен.
- Интеграция Directus CMS (в том числе локальный кеш).
- Docker Compose для местного развития.
- Tailwindcss включен (необязательно).
- GDPR и CCPA готовы.
- Интеллектуальный кеш обслуживания.
- Поддержка GetText для легкого перевода (+ запасной, если не установлен на сервере).
- SEO оптимизирован.
- Автоматизированная генерация карты сайта.
- Оптимизирован для социального обмена.
- Скорость и GDPR-оптимизированная YouTube-Integration.
- Необязательная оптимизация CSS и JavaScript с подготовленными сценариями сборки.
- Обширная вкодовая документация.
- Заголовки безопасности (.htaccess или через php)
- Несколько функций безопасности (большинство из них требуют сервера Apache!)
- Готовился для запуска развертывания GIT.
- Разработано, чтобы сделать вам чрезвычайно простым удалять функции или добавить свои собственные вещи.
Использование
Загрузите соответствующий филиал/тег и загрузите его в папку вашего сайта - или клонируйте репо, как вам нравится.
Настройте его к своему проекту:
- Проверьте файл .htaccess, если вы запустите его на Apache. Имейте в виду заголовки и места безопасности, где указан домен/путь (ищите yourdomain.com).
- Если вы не запускаете его в Apache, проверьте index.php для установки заголовков безопасности и убедитесь, что каждый запрос (кроме файлов) отправляется на index.php. Проверьте NGINX_DEPLOYMENT.SH - это предварительно сконфигурированный сценарий BASH для настройки вашего NGINX WebServer.
- Отрегулируйте значения в config.php, а также файлы разумов, которые упоминаются в комментариях там. Настройка подключения к вашей CMS Directus, если используется.
- Проверьте /templates/general_meta.php и создайте соответствующие изыскания.
- Определите свои страницы на routing.php. (Уменьшите юридическое уведомление и политику конфиденциальности, чтобы остаться в соответствии с GDPR!)
- Создайте эти страницы (как указано ранее) в качестве отдельных файлов PHP в /страницах.
- При необходимости создайте соответствующие файлы в /контроллер.
- Проверьте опцию Auto-Redirect на многоязыке на index.php и base.js.
- Создайте веб -сайт с этими страницами, Style.css и Base.js. Помните, чтобы свести к минимуму эти файлы или настроить способ их включения в /templates/header.php и /templates/foter.php. Если вы используете подготовленный сценарий сборки, вам не нужно беспокоиться об этой части.
- Отрегулируйте нижний колонтитул по адресу /Templates/footer.php до ваших потребностей.
- Найдите более подробную информацию в документации в коде - это хорошо задокументированная игровая площадка!
Это в основном это относительно корректировок. Вы можете найти более подробное руководство по настройке образцов в соответствующем сообщении в блоге Medium.
Создание проекта вряд ли зависит от вашей конфигурации! Если вы используете интеграцию TailWindcss, вам необходимо использовать прилагаемый скрипт сборки, который требует Nodejs! Если вы идете просты, вы можете пропустить это. Тем не менее, не использование сценариев сборки также не будет слияние и министерства файлов CSS и JS. Поэтому, если это возможно, это вряд ли рекомендуется. Для строительства:
- Убедитесь, что вы находитесь в корневом каталоге проекта со своим терминалом.
- Запустите
npm install . - Запустите
npm run build , чтобы позволить магии произойти. - Вот и все. Не стесняйтесь делать это вручную на своей местной машине и загружать его на свой хост - или использовать некоторые сборки сборки в любом инструменте, который вы используете.
Кстати: рекомендуется использовать сервис CDN (например, CloudFlare), чтобы ускорить его еще больше.
Настройка локальной разработки
Для местного развития вы можете использовать прилагаемые Docker-compose.yml
- Обновите имя контейнера в файле YML.
- Загрузите и установите Docker Desktop.
- Отрегулируйте
$the_page_url в config.php временно до "/". - Запустите
docker-compose up -d в терминале в корневом каталоге проекта. - Откройте проект в
localhost:80 (помните, что вы можете увидеть ошибку SSL - не должно быть блокировщиком), - Счастливого кодирования и тестирования.
Внося
Кто -нибудь может внести свой вклад, но имейте в виду руководящие принципы:
- Отчеты об ошибках
- Запросы функций
- Получить запросы
Лицензия
Код доступен по лицензии GPL 3.0. Вы можете сделать что -нибудь с этим, но помните, что если вы хотите распространять свою работу на основе этого кода, ваша работа также должна быть лицензирована GPL. Это означает, что вы можете легко создать свой веб -сайт с ним, так как это не распространение. Распределение будет иметь место, если вы продаете проект на основе этого кода другим или если вы создаете публичные проекты (независимо от того, продаете ли вы их или нет). Даже это было бы хорошо, если вы лицензируете эти проекты и GPL. :) Проверьте файл лицензии на все данные.
Вдохновленный
Этот код был вдохновлен шатер HTML5.