Installation
Phexium adopts a Copy-Based Framework distribution model. Unlike traditional package-based frameworks installed in vendor/, this model copies framework code directly into your project, enabling local customization while maintaining synchronization capabilities.
See Copy-Based Framework for the full benefits and workflow.
Quick Start
The interactive installer guides you through template selection, database configuration, and environment setup.
After installation, access your application at http://localhost:8080.
Contributing to Phexium? If you want to test or contribute to the framework itself, see the Contributor Installation.
Installation Process
The installer runs five phases:
1. Preparation
Verifies prerequisites:
- PHP 8.4+
- Git
- Task (task runner)
- Docker
2. Template Selection
Choose between:
- starter - Minimal skeleton with Homepage module only
- demo - Complete library management application
3. Download
Downloads framework files from upstream:
- Framework core (
src/,tests/Phexium/) - Configuration files (taskfile.yaml, composer.json, etc.)
- Docker environment
- Database schemas
- Selected template files
4. Configuration
- Creates
.envfrom template - Prompts for database type (SQLite, MySQL, PostgreSQL)
- Transforms namespaces (
AppDemo/AppStarter→App) - Starts Docker environment
- Installs Composer dependencies
5. Finalization
- Initializes database (demo template only)
- Saves version tracking for future updates
Template Choices
Starter Template
The starter template (app/starter/) provides minimal setup for new projects:
- Homepage module with welcome message
- Basic configuration
- Minimal tests
Demo Template
The demo template (app/demo/) provides a full-featured example application:
- Library module (full CRUD with events)
- Loan module (borrowing management)
- User module (authentication)
- Complete REST API
- Comprehensive tests
Database Options
- SQLite: Single-file database, recommended for development
- MySQL: Production-ready RDBMS
- PostgreSQL: Advanced RDBMS with strong ACID compliance
Database type is configured via database.type in .env.
After Installation
# Verify installation
http://localhost:8080
# Run tests
task tests:all
# Commit initial state
git add . && git commit -m "Initial project setup"
Troubleshooting
Installation logs are saved to install.log for troubleshooting.