Keep it simple.
Sometimes, you don't need an overkill solution like Laravel or Symfony.
Borsch is a simple and efficient PSR-15 micro framework made to kick start your web app or API development by using the tools you prefer, and provides minimal structure and facilities to ease your development.
It natively features :
- Dependency Injection Container
- Router
- Request Handlers and Middlewares
- Environment Variables
- Error Handling
- Listeners
Can be enriched with :
- ORM
- Templating
- Anything else you want
The framework is built around a PSR-11 Container, therefore everything is made around interfaces.
If something is not at your taste, you can implement your own logic without having to modify everything.
Via composer :
composer create-project borschphp/borsch-skeleton [your-app-name]
Instructions below will start a server on http://0.0.0.0:8080.
After installation, you can run the application in development with the command :
php -S 0.0.0.0:8080 -t ./public/ ./public/server.php
# or use the shortcut
composer serve
Or you can use docker-compose
to run the app with docker :
docker-compose up -d
Or you can also use lando to run the app with docker :
lando start
You can spin up a FrankenPHP docker container of the app with :
docker run \
-v $PWD:/app \
-p 80:8080 -p 443:443 -p 443:443/udp \
dunglas/frankenphp
A script is available at public/worker.php
to run the app with a FrankenPHP worker :
docker run \
-e FRANKENPHP_CONFIG="worker ./public/worker.php" \
-v $PWD:/app \
-p 80:8080 -p 443:443 -p 443:443/udp \
dunglas/frankenphp
An extended documentation is available here.
Borsch Framework is heavily inspired by Mezzio and Laravel, only it is a much simpler and lightweight implementation.
Do not hesitate to check Mezzio and Laravel out 😉 .
The package is licensed under the MIT license. See License File for more information.