Встановлення

Рекомендований спосіб почати новий проєкт — офіційний Concept Skeleton: мінімальний застосунок з уже підключеним php-concept/core, bootstrap, робочим маршрутом / і landing-сторінкою на Twig.

Concept Skeleton

Skeleton постачає:

  • HTTP + Twig landing page і компонентно-орієнтовану структуру src/App/
  • Усі дванадцять провайдерів ядра, увімкнених за замовчуванням (bootstrap/providers/app.php)
  • Каталоги config/, routes/, database/, resources/views/
  • Docker-оточення (Apache + MySQL) та скрипт публікації Bootstrap у public/vendor/

Альтернативні підходи до організації коду в src/ — у розділі Структура каталогів.

Вимоги до сервера

Concept Skeleton (і Concept Core) потребують:

  • PHP 8.4+
  • Composer 2.x
  • Розширення PHP: dom, pdo, pdo_mysql, mysqli, zip

Повний набір для Docker — у Dockerfile репозиторію skeleton. Без БД можна тимчасово вимкнути DatabaseServiceProvider у провайдерах.

Швидкий старт

git clone https://github.com/php-concept/concept-skeleton.git my-app
cd my-app

composer install

cp .env.example .env
# Відредагуйте .env — APP_ENV, облікові дані БД тощо

Document root веб-сервера має вказувати на каталог public/. Для локальної перевірки:

php -S localhost:8080 -t public

Відкрийте застосунок у браузері — маршрут / відобразить landing Concept Core.

Після composer install скрипт publish-assets копіює Bootstrap і Bootstrap Icons у public/vendor/. Highlight.js для прикладів коду уже лежить у public/libs/highlight/.

Docker

cp docker-compose.yml.example docker-compose.yml
# Відредагуйте docker-compose.yml (container_name, volumes)
docker compose up -d

У контейнері застосунку встановіть залежності:

docker exec -it concept_skeleton bash
composer install

Apache vhost — у docker/apache/vhost.conf (DocumentRootpublic/). За замовчуванням застосунок доступний на порту 8080.

Ядро в існуючому проєкті

Якщо інтегруєте Concept Core у власний репозиторій, додайте пакет через Composer і вручну створіть bootstrap, точки входу та каталоги конфігурації:

composer require php-concept/core:^1.0

Еталонна структура та код ініціалізації — у skeleton і в розділі Налаштування (public/index.php, bootstrap/app.php, bootstrap/paths.php, провайдери).

Наступні кроки