PHPackages                             celema/core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. celema/core

ActiveLibrary

celema/core
===========

Celema core web framework

0.5.0(1mo ago)057↓66.7%MITPHPPHP ^8.5CI passing

Since Jan 31Pushed 1w ago1 watchersCompare

[ Source](https://github.com/celemas/core)[ Packagist](https://packagist.org/packages/celema/core)[ Docs](https://celema.dev/core)[ RSS](/packages/celema-core/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (15)Versions (6)Used By (0)

Celema Core Framework
=====================

[](#celema-core-framework)

[![ci](https://camo.githubusercontent.com/defbbafee5a0a7cbaff1559ebc25d329487b99608e85dadbca494b66a674d1e2/68747470733a2f2f636f6465666c6f652e636f6d2f63656c656d612f636f72652f6261646765732f776f726b666c6f77732f63692e796d6c2f62616467652e7376673f7374796c653d666c6174266c6f676f3d666f7267656a6f266c6f676f436f6c6f723d7768697465266c6162656c3d6369)](https://codefloe.com/celema/core/actions)[![code coverage](https://camo.githubusercontent.com/03dc759cc7ffa1849621a0b32d972c867a422bc11db8287913627e1819730db0/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d6874747073253341253246253246636f762e63656c656d612e64657625324663656c656d61253246636f7265253246636f646525324662616467652e6a736f6e)](https://cov.celema.dev/celema/core/code)[![type coverage](https://camo.githubusercontent.com/9ddc87437ea124c5d2507c018fa68c85c0b9502ef839284f5452f916b74fdbf2/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d6874747073253341253246253246636f762e63656c656d612e64657625324663656c656d61253246636f7265253246747970657325324662616467652d636f7665722e6a736f6e)](https://cov.celema.dev/celema/core/types)[![psalm level](https://camo.githubusercontent.com/e2f47048897e2334dfe62c4c097e4e4d6364dc4bf3f455d91b038be3bd0d1e51/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d6874747073253341253246253246636f762e63656c656d612e64657625324663656c656d61253246636f7265253246747970657325324662616467652d6c6576656c2e6a736f6e)](https://cov.celema.dev/celema/core/types)[![Software License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE.md)

Celema Core is a lightweight and easily extendable PHP 8.5+ 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
-------

[](#routing)

`App` exposes the router's common route helpers and runs requests through the router `RoutingHandler` internally.

```
use Celema\Core\App;
use Celema\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');
});
```

Development server
------------------

[](#development-server)

The development server commands live in the optional [`celema/server`](https://codefloe.com/celema/server) package, which runs applications with the PHP CLI's built-in server or FrankenPHP:

```
composer require --dev celema/server
```

When the package is installed, Core's error handler automatically reports handled server errors to the development server's request log.

### Development example

[](#development-example)

The repository's example app exercises routing, autowiring, request and response helpers, middleware, error handling, static assets, and request-log states. With `celema/server` installed, run it on port `1973` with either development server:

```
./app/run server
./app/run frankenphp
```

Add `--watch` to run BrowserSync and reload when the example or Core source changes. Both commands support host, port, request-log filtering, and BrowserSync-backed `--watch` mode.

PSR-7 implementation
--------------------

[](#psr-7-implementation)

`App::create()` uses [nyholm/psr7](https://github.com/Nyholm/psr7) as its PSR-7/PSR-17 implementation:

```
composer require nyholm/psr7 nyholm/psr7-server
```

Any other implementation works through a custom `Celema\Core\Factory\Factory`. Extend `AbstractFactory`, assign the implementation's PSR-17 factories, and pass an instance to the `App` constructor:

```
use Celema\Core\Factory\AbstractFactory;
use GuzzleHttp\Psr7\HttpFactory;
use GuzzleHttp\Psr7\ServerRequest;
use Psr\Http\Message\ServerRequestInterface;

class Guzzle extends AbstractFactory
{
	public function __construct()
	{
		$factory = new HttpFactory();
		$this->requestFactory = $factory;
		$this->responseFactory = $factory;
		$this->serverRequestFactory = $factory;
		$this->streamFactory = $factory;
		$this->uploadedFileFactory = $factory;
		$this->uriFactory = $factory;
	}

	public function serverRequest(): ServerRequestInterface
	{
		return ServerRequest::fromGlobals();
	}
}

$app = new App(new Guzzle(), new Router(), new Container());
```

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
-------

[](#license)

This project is licensed under the [MIT license](LICENSE.md).

The built-in SAPI emitter is derived from [laminas/laminas-httphandlerrunner](https://github.com/laminas/laminas-httphandlerrunner) (BSD-3-Clause); see the third-party code section in [LICENSE.md](LICENSE.md).

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance94

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~41 days

Total

5

Last Release

45d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c15f1690b643e5cbf205fd28f3b2ebb6c7448d34774bb92b7952150c901a689?d=identicon)[ernstla](/maintainers/ernstla)

---

Top Contributors

[![ernstla](https://avatars.githubusercontent.com/u/683620?v=4)](https://github.com/ernstla "ernstla (232 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

### Embed Badge

![Health badge](/badges/celema-core/health.svg)

```
[![Health](https://phpackages.com/badges/celema-core/health.svg)](https://phpackages.com/packages/celema-core)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.9k20.4M1.9k](/packages/cakephp-cakephp)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[typo3/cms-core

TYPO3 CMS Core

3714.0M5.9k](/packages/typo3-cms-core)[tempest/framework

The PHP framework that gets out of your way.

2.3k42.4k21](/packages/tempest-framework)[mcp/sdk

Model Context Protocol SDK for Client and Server applications in PHP

1.6k3.0M161](/packages/mcp-sdk)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

86538.6k](/packages/flow-php-flow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
