Installation
The recommended way to start a new project is the official
Concept Skeleton:
a minimal application with php-concept/core already wired, bootstrap in place,
a working / route, and a Twig landing page.
Concept Skeleton
The skeleton ships with:
- An HTTP + Twig landing page and a component-ready
src/App/layout - All twelve core providers enabled by default (
bootstrap/providers/app.php) config/,routes/,database/, andresources/views/directories- Docker environment (Apache + MySQL) and a Bootstrap publish script for
public/vendor/
Alternative ways to organize code under src/ are covered in
Directory structure.
Server Requirements
Concept Skeleton (and Concept Core) require:
- PHP 8.4+
- Composer 2.x
- PHP extensions:
dom,pdo,pdo_mysql,mysqli,zip
The full set for Docker is listed in the skeleton repository Dockerfile.
Without a database you can temporarily disable DatabaseServiceProvider in the provider list.
Quick start
git clone https://github.com/php-concept/concept-skeleton.git my-app
cd my-app
composer install
cp .env.example .env
# Edit .env — APP_ENV, database credentials, etc.
Point your web server document root at public/.
For a quick local check:
php -S localhost:8080 -t public
Open the app in a browser — the / route renders the Concept Core landing page.
After composer install, the publish-assets script copies Bootstrap
and Bootstrap Icons into public/vendor/. Highlight.js for code samples
already lives under public/libs/highlight/.
Docker
cp docker-compose.yml.example docker-compose.yml
# Edit docker-compose.yml (container_name, volumes)
docker compose up -d
Install dependencies inside the application container:
docker exec -it concept_skeleton bash
composer install
Apache vhost config is in docker/apache/vhost.conf (DocumentRoot → public/).
By default the app is exposed on port 8080.
Core in an existing project
To integrate Concept Core into your own repository, add the package via Composer and create bootstrap, entry points, and config directories manually:
composer require php-concept/core:^1.0
Reference layout and initialization code live in the skeleton and in
Setup (public/index.php, bootstrap/app.php,
bootstrap/paths.php, providers).
Next Steps
- Setup — bootstrap,
paths.php, console - Configuration —
.env,config/files - Directory structure — ways to organize
src/