brickphp / core
The core engine of BrickPHP framework
Requires
- php: ^8.2
- vlucas/phpdotenv: ^5.5
README
Questo repository contiene il motore logico del framework BrickPHP. È progettato per essere leggero, modulare e privo di dipendenze pesanti, fornendo le fondamenta necessarie per gestire il ciclo di vita di una richiesta HTTP in un pattern MVC.
Nota: Questo pacchetto è un componente interno. Per iniziare a sviluppare un'applicazione, utilizza lo Skeleton Ufficiale di BrickPHP.
🏗️ Architettura del Core
Il Core gestisce il flusso della richiesta attraverso i seguenti componenti fondamentali:
- HTTP Layer: Gestione di
Request(cattura globali, sessioni, input) eResponse(header, status code, body). - Routing: Un sistema di routing basato su Regex con supporto per parametri dinamici
{id}. - Dispatcher: Risolve ed esegue i Controller iniettando le dipendenze necessarie.
- Database Wrapper: Un'interfaccia fluida sopra PDO per query veloci e sicure.
- View Engine: Sistema di rendering leggero con supporto per l'estrazione di dati e buffer di output.
🛠️ Componenti Tecnici
Sistema di Routing
Il router supporta definizioni pulite e mappatura diretta ai controller:
$router->get('/profile/{id}', [UserController::class, 'show']);
Database & Model
BrickPHP include un Database Manager globale accessibile tramite l'helper db():
$users = db()->table('users')->where('active', 1)->get();
Global Helpers
Per semplificare lo sviluppo, il Core espone funzioni globali caricate via Composer:
view($name, $data)Renderizza una vista.db()Istanza del query builder.env($key, $default)Accesso sicuro alle variabili d'ambiente.cache()Gestione della cache (File/Redis).
📦 Installazione (Standalone)
Se desideri utilizzare solo il motore di BrickPHP in un progetto custom:
composer require brickphp/core
Nel tuo entry point, definisci la costante BRICK_PATH per orientare il framework:
define('BRICK_PATH', __DIR__); require 'vendor/autoload.php';
🤝 Contribuire
Siamo aperti a contributi! Se hai idee per migliorare le performance o aggiungere funzionalità al motore:
-
Fai il Fork del progetto.
-
Crea un branch per la tua feature (
git checkout -b feature/AmazingFeature). -
Fai il Commit delle tue modifiche.
-
Pusha sul branch.
-
Apri una Pull Request.
Sostieni lo sviluppo
Se questo motore ti aiuta a costruire software più velocemente, considera una piccola donazione per supportarne il mantenimento:
📄 Licenza
Questo progetto è rilasciato sotto licenza MIT. Consulta il file LICENSE per maggiori dettagli.
Core Engine ideato da Donato Del Peschio