Download the PHP package shworx/beacon without Composer
On this page you can find all versions of the php package shworx/beacon. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shworx/beacon
More information about shworx/beacon
Files in shworx/beacon
Informations about the package beacon
Beacon - The Foundation for Modern PHP Applications
About Beacon
Beacon is a modern PHP application starter framework designed for developers who value simplicity, maintainability, and rapid development.
It combines proven architectural concepts such as dependency injection, service providers, middleware, routing, validation, authentication, database migrations, and Eloquent ORM into a clean, lightweight, and developer-friendly foundation.
Unlike many frameworks that require extensive initial setup, Beacon is distributed as a complete project skeleton, including a fully integrated authentication system with user registration, login, password reset, remember-me functionality, and email verification. This allows developers to focus on building their applications rather than spending time on repetitive boilerplate configuration.
Beacon also includes a lightweight Neumorphism-based CSS starter design featuring commonly used UI components such as cards, buttons, form controls, alerts, and popovers. The design serves as a practical starting point and can be customized or replaced entirely to suit your project's requirements.
Whether you're building a personal website, business application, administration panel, or custom web platform, Beacon provides a solid and extensible foundation to get started quickly.
Features
- Modern MVC architecture
- Dependency Injection Container
- Service Providers
- Middleware Pipeline
- Named Routes
- Twig Templating
- Eloquent ORM
- Database Migrations
- Authentication System
- Remember Me Authentication
- CSRF Protection
- DTO-based Validation
- Flash Messages
- Console Commands
- Environment Configuration
- PSR-4 Autoloading
- Docker Development Environment (with HTTPS support)
Requirements
- PHP 8.5+
- Composer
- MariaDB / MySQL
- Docker (optional)
Installation
-
Create a new Beacon project:
-
Enter the project directory:
-
Install dependencies:
-
Copy the environment configuration:
-
Generate an application secret:
-
Copy the generated application secret to the
.envfile (APP_SECRET) -
Run database migrations:
- Start your web server and begin building.
Project Structure
Console Commands
List all available commands: php console
Create Migration: php console make:migration create_users_table
Run Migrations: php console migrate
Rollback Migrations: php console migrate:rollback
Generate Application Secret: php console app:key
Routing Examples
Basic routes
Routes with parameter
Route groups
Generate URLs in Twig:
Validation
Beacon integrates Symfony Validator with DTO-based validation.
Example:
Validate example:
Database
Beacon uses Laravel's Eloquent ORM.
With relation:
Create migrations:
Run migrations:
Philosophy
Beacon aims to provide:
- A clean architecture
- Modern PHP practices
- Minimal magic
- Maximum readability
- Fast project setup
- Full developer control
Beacon does not try to hide PHP. Instead, it embraces PHP and provides a solid foundation for building maintainable applications.
License
Beacon is open-sourced software licensed under the MIT License.
Local Docker environment setup
Beacon comes with a pre-configured Docker container setup, consisting of 3 containers:
beacon-webserver(Nginx, PHP 8.5)beacon-maria(MariaDB 11.5)beacon-mailpit(Mailpit [latest])
Generate SSL cert & key for local Docker environment
To run the local Docker container setup, you should first generate a fresh SSL cert and key. To do so, follow the steps below.
Generating SSL cert
Important notes:
- If you have changed the CN value
beacon.localto any other local domain you want to use, then you also need to update the value forserver_name(line 13), and the value inadd_header(line 88) indocker/config/conf.d/default.conf. You also need to updateAPP_URLin.envto match your local domain.- If you have changed the file names for the cert and the key, then you also need to update the entries in
docker/config/conf.d/self-signed.conf.
Generating Diffie-Hellman params
You can now start the local Docker environment on CLI via Docker compose.
Helper aliases inside beacon-webserver container
The beacon-webserver container comes along with some helper aliases:
clearlogsThis alias clears the logs:
/var/log/nginx/access.log(docker/logs/access.log),
/var/log/nginx/error.log(docker/logs/error.log),
Author
Beacon is created and maintained by
Steffen Haase
SHWorX Development
Website: https://shworx.com
GitHub: https://github.com/SHWorX
All versions of beacon with dependencies
symfony/routing Version ^8.1.0
twig/twig Version ^3.27.0
symfony/validator Version ^8.1.0
egulias/email-validator Version ^4.0.0
phpmailer/phpmailer Version ^7.1.0
monolog/monolog Version ^3.10.0
illuminate/database Version ^13.12.0
vlucas/phpdotenv Version ^5.6.3
ramsey/uuid Version ^4.9.2
nesbot/carbon Version ^3.11.4
illuminate/events Version ^13.15.0