1
0
Fork
You've already forked core
0
Duon core web framework
  • PHP 99.9%
Thomas Ernst 9535b3684f
All checks were successful
ci / ci (push) Successful in 1m23s
Release v0.4.0
2026年06月11日 18:59:45 +02:00
.forgejo/workflows Allow manual CI runs 2026年06月10日 20:58:18 +02:00
.github Add GitHub mirror README 2026年06月10日 21:14:39 +02:00
docs Add error handler 2026年06月11日 08:53:51 +02:00
src Improve dev server error output 2026年06月11日 18:09:44 +02:00
tests Improve dev server error output 2026年06月11日 18:09:44 +02:00
.editorconfig Sync shared config files 2026年01月30日 22:12:28 +01:00
.gitattributes Update .gitattributes 2026年04月15日 19:37:55 +02:00
.gitignore Update .gitignore 2026年04月15日 19:37:16 +02:00
CHANGELOG.md Release v0.4.0 2026年06月11日 18:59:45 +02:00
composer.json Add error handler 2026年06月11日 08:53:51 +02:00
LICENSE.md Update license 2026年05月12日 14:25:48 +02:00
mago.toml Update mago settings 2026年04月15日 20:48:29 +02:00
phpunit.xml.dist Update coverage config 2026年05月12日 19:55:34 +02:00
psalm.xml.dist Rename config files from *.dist.xml to *.xml.dist 2026年04月15日 18:59:29 +02:00
README.md Add error handler 2026年06月11日 08:53:51 +02:00

Celemas Core Framework

ci code coverage type coverage psalm level Software License

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.