celemas / core
Celemas core web framework
0.4.0
2026-06-11 18:59 UTC
Requires
- php: ^8.5
- ext-fileinfo: *
- celemas/cli: ^0.2.0
- celemas/container: ^0.4.0
- celemas/router: ^0.3.0
- laminas/laminas-httphandlerrunner: ^2.4
- psr/http-factory: ^1.0
- psr/http-message: ^1.1 || ^2.0
- psr/http-message-implementation: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^3.0
Requires (Dev)
- celemas/dev: ^4.2
- guzzlehttp/psr7: ^2
- laminas/laminas-diactoros: ^2 || ^3
- nyholm/psr7: ^1.5
- nyholm/psr7-server: ^1
README
Celemas Core is a lightweight and easily extendable >=PHP 8.3 web framework.
[!WARNING] This library is under active development, some of its features are still experimental and subject to change. Large parts of the documentation are missing.
It features:
- Http Routing.
- An autowiring container used for automatic dependency injection.
- Middleware.
- Error handling for PSR-15 request pipelines.
- Convenience wrappers for PSR request, response and middleware.
- Logging.
Routing
App exposes the router's common route helpers and runs requests through the router RoutingHandler internally.
use Celemas\Core\App;
use Celemas\Router\Group;
$app = App::create();
$app->get('/health', [HealthController::class, 'show'], 'health');
$app->map(['GET', 'POST'], '/login', [AuthController::class, 'login'], 'login');
$app->any('/webhook', $webhook, 'webhook');
$app->group('/admin', function (Group $admin) use ($auth): void {
$admin->middleware($auth);
$admin->controller(AdminController::class);
$admin->get('', 'index', 'admin.index');
$admin->post('/login', 'login', 'admin.login');
});
Supported PSRs:
- PSR-3 Logger Interface
- PSR-4 Autoloading
- PSR-7 Http Messages (Request, Response, Stream, and so on.)
- PSR-11 Container Interface
- PSR-12 Extended Coding Style
- PSR-15 Http Middleware
- PSR-17 Http Factories
License
This project is licensed under the MIT license.