berlioz / berlioz
Berlioz Framework
Requires
- php: ^8.2
- ext-fileinfo: *
- ext-intl: *
- ext-mbstring: *
- ext-xml: *
- berlioz/helpers: ^1.10
- colinodell/json5: ^2.2
- doctrine/sql-formatter: ^1.1
- hectororm/hectororm: ^1.0
- league/climate: ^3.7
- league/flysystem: ^2.1 || ^3.0
- league/mime-type-detection: ^1.0
- psr/clock: ^1.0
- psr/container: ^2.0
- psr/event-dispatcher: ^1.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0 || ^2.0
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^2.0 || ^3.0
- psr/simple-cache: ^2.0 || ^3.0
- twig/twig: ^3.0
Requires (Dev)
- ext-amqp: *
- ext-redis: *
- ext-yaml: *
- aws/aws-sdk-php: ^3.0
- elgigi/har-parser: ^1.0
- hectororm/query: ^1.0
- php-http/discovery: ^1.20
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.5
- rector/rector: ^2.2
- symfony/process: ^5.0 || ^6.0 || ^7.0 || ^8.0
- symfony/yaml: ^5.0 || ^6.0 || ^7.0 || ^8.0
Suggests
- ext-amqp: To use AMQP queue in QueueManager
- ext-curl: To use CURL adapter with HttpClient
- ext-gd: Allows to use image helpers functions
- ext-pcntl: Tu use signals to exit worker in QueueManager
- ext-redis: To use Redis queue in QueueManager
- ext-simplexml: Allows to use XML helpers functions
- ext-yaml: To use YamlAdapter with Config
- ext-zlib: To use GzStream in HttpMessage
- aws/aws-sdk-php: To use AWS SQS service in QueueManager
- elgigi/har-parser: To use HAR support in HttpClient
- hectororm/query: To use database queue in QueueManager
- symfony/yaml: To use YamlAdapter with Config
Provides
Replaces
- berlioz/cli-core: v3.0.0
- berlioz/config: v3.0.0
- berlioz/core: v3.0.0
- berlioz/event-manager: v3.0.0
- berlioz/flash-bag: v3.0.0
- berlioz/form: v3.0.0
- berlioz/hector-package: v3.0.0
- berlioz/html-selector: v3.0.0
- berlioz/http-client: v3.0.0
- berlioz/http-core: v3.0.0
- berlioz/http-message: v3.0.0
- berlioz/mailer: v3.0.0
- berlioz/queue-manager: v3.0.0
- berlioz/queue-manager-package: v3.0.0
- berlioz/router: v3.0.0
- berlioz/service-container: v3.0.0
- berlioz/twig-package: v3.0.0
README
Berlioz Framework is a slim PHP framework, to easily publish your online projects like website, intranet, api... or all your creations!
All development, issues, and pull requests are managed in this monorepo.
Sub-repositories are automatically synchronized for each package.
📖 Full documentation
Quick start
composer create-project berlioz/website-skeleton my-project --remove-vcs
That's it! You are ready to develop your project.
Features
- Lightweight & fast - Minimal overhead, designed to stay out of your way.
- PSR compliant - Implements PSR-7, PSR-11, PSR-14, PSR-17 and PSR-18 standards.
- Monorepo architecture - All packages are developed, tested and released together.
- HTTP & CLI - First-class support for both web applications and command-line tools.
- Standalone components - Every component can be used independently in any PHP project.
Requirements
- PHP >= 8.2
- Extensions:
fileinfo,intl,mbstring,xml
Packages
This monorepo contains the following packages, each available as a standalone Composer package:
Core
| Package | Description |
|---|---|
Core berlioz/core |
Foundation of the framework: application lifecycle, configuration, debugging. |
Config berlioz/config |
Configuration file management (JSON5, YAML, PHP). |
Service Container berlioz/service-container |
Dependency injection container (PSR-11). |
Event Manager berlioz/event-manager |
Event dispatcher (PSR-14). |
Router berlioz/router |
HTTP route management with PSR-7 support. |
HTTP
| Package | Description |
|---|---|
HTTP Core berlioz/http-core |
HTTP application core: request handling, controllers, middlewares. |
HTTP Message berlioz/http-message |
PSR-7 HTTP messages and PSR-17 HTTP factories implementation. |
HTTP Client berlioz/http-client |
HTTP client with session/cookie support (PSR-18). |
CLI
| Package | Description |
|---|---|
CLI Core berlioz/cli-core |
CLI application core: commands, console and lifecycle. |
Components
| Package | Description |
|---|---|
Mailer berlioz/mailer |
Email sending, with or without a local SMTP server. |
Form berlioz/form |
HTML form building, validation and handling. |
FlashBag berlioz/flash-bag |
Flash messages (one-time user notifications). |
HTML Selector berlioz/html-selector |
Query HTML documents with CSS selectors. |
Queue Manager berlioz/queue-manager |
Background job processing with workers. |
Integration packages
| Package | Description |
|---|---|
Twig Package berlioz/twig-package |
Twig template engine integration. |
Hector Package berlioz/hector-package |
Hector ORM integration for database access. |
Queue Manager Package berlioz/queue-manager-package |
Queue Manager integration into the framework. |
Documentation
Full documentation is available at getberlioz.com.
Contributing
All contributions (bug reports, feature requests, pull requests) should be made on this monorepo. Sub-repositories are read-only mirrors and are automatically synchronized.
License
Berlioz Framework is open-sourced software licensed under the MIT license.