PHPackages                             teknoo/east-foundation - 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. teknoo/east-foundation

ActiveLibrary

teknoo/east-foundation
======================

East Foundation is a universal package to implement the #east philosophy ( http://blog.est.voyage/phpTour2015/ ) with any framework supporting PSR-11, PSR-15 or with Symfony 4+.

9.2.0(1mo ago)425.5k↑44.1%4BSD-3-ClausePHPPHP ^8.4

Since Apr 10Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/TeknooSoftware/east-foundation)[ Packagist](https://packagist.org/packages/teknoo/east-foundation)[ Docs](https://teknoo.software/east-collection/foundation)[ GitHub Sponsors](https://github.com/sponsors/TeknooSoftware)[ Patreon](https://www.patreon.com/teknoo_software)[ RSS](/packages/teknoo-east-foundation/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (65)Versions (193)Used By (4)

Teknoo Software - East Foundation
=================================

[](#teknoo-software---east-foundation)

[![Latest Stable Version](https://camo.githubusercontent.com/53408c6ec85ebb233a6a7a328989bf54cfbda80b8f773c8bed5046b4a41bfbe9/68747470733a2f2f706f7365722e707567782e6f72672f74656b6e6f6f2f656173742d666f756e646174696f6e2f762f737461626c65)](https://packagist.org/packages/teknoo/east-foundation)[![Latest Unstable Version](https://camo.githubusercontent.com/b5d90a1db0a94468a9a973d15f8c9d40d0e830926c944029d09149e797a4b553/68747470733a2f2f706f7365722e707567782e6f72672f74656b6e6f6f2f656173742d666f756e646174696f6e2f762f756e737461626c65)](https://packagist.org/packages/teknoo/east-foundation)[![Total Downloads](https://camo.githubusercontent.com/4830538e515109f995f23e4f1a7eae81f5e608bae662ede5f1ac56164c2791a5/68747470733a2f2f706f7365722e707567782e6f72672f74656b6e6f6f2f656173742d666f756e646174696f6e2f646f776e6c6f616473)](https://packagist.org/packages/teknoo/east-foundation)[![License](https://camo.githubusercontent.com/6004c1aed981c197dc75284ff99eeccf3d356c34d0fa168d4a34cd3c382a2d2d/68747470733a2f2f706f7365722e707567782e6f72672f74656b6e6f6f2f656173742d666f756e646174696f6e2f6c6963656e7365)](https://packagist.org/packages/teknoo/east-foundation)[![PHPStan](https://camo.githubusercontent.com/441b5874ce4df0a2defc892979c96c46889b69cb32119d04f0b48626349f8bc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d627269676874677265656e2e7376673f7374796c653d666c6174)](https://github.com/phpstan/phpstan)

East Foundation is a universal package to implement the [\#east](http://blog.est.voyage/phpTour2015/) philosophy with any framework supporting `PSR 11`, `PSR 7` or with Symfony 6.4+ : All public method of objects must return `$this` or a new instance of `$this`.

This bundle uses `PSR 7` requests and responses and do automatically the conversion from Symfony's requests and responses. So your controllers and services can be independent of Symfony. This bundle reuse internally Symfony's components to manage routes and find controller to call. It is also designed to be used with other framework.

It can be also used for workers :

- Triggering asynchronous tasks (thanks to pcntl) for timers.
- Setting up a worker health check.
- Provides non blocking sleep method.

This library is built on the Recipe library, and redefine only some interfaces to be more comprehensive with HTTP context :

- Middleware are actions, but must implement a specific interface.
- The HTTP workflow is defined into a Recipe, able to be extended.
- Chef became a manager, to execute the workflow when a request is accepted.
- Usable with any `PSR 11` Framework, Symfony implementation is also provided.
- Supports `PSR 15` handler and middleware
- Supports `PSR 20` and provides a PSR-20 implementation

A complete documentation is available in [documentation/README.md](documentation/README.md)

Support this project
--------------------

[](#support-this-project)

This project is free and will remain free. It is fully supported by the activities of the EIRL. If you like it and help me maintain it and evolve it, don't hesitate to support me on [Patreon](https://patreon.com/teknoo_software) or [Github](https://github.com/sponsors/TeknooSoftware).

Thanks :) Richard.

Credits
-------

[](#credits)

EIRL Richard Déloge -  - Lead developer. SASU Teknoo Software -

About Teknoo Software
---------------------

[](#about-teknoo-software)

**Teknoo Software** is a PHP software editor, founded by Richard Déloge, as part of EIRL Richard Déloge. Teknoo Software's goals : Provide to our partners and to the community a set of high quality services or software, sharing knowledge and skills.

License
-------

[](#license)

East Foundation is licensed under the 3-Clause BSD License - see the licenses folder for details.

Installation &amp; Requirements
-------------------------------

[](#installation--requirements)

To install [follow these instructions](documentation/install.md).

This library requires :

```
* PHP 8.1+
* A PHP autoloader (Composer is recommended)
* Teknoo/Immutable.
* Teknoo/States.
* Teknoo/Recipe.
* Optional: Symfony 6.4+

```

News from Teknoo East Foundation 7.x
------------------------------------

[](#news-from-teknoo-east-foundation-7x)

This library requires PHP 8.1 or newer and it's only compatible with Symfony 6.3 or newer :

- PHP-DI 7 or newer
- Supports `PSR-20` with the `DatesService`.
- Supports `PSR-15` with add to new `Recipe Bowl` type :
    - `FiberHandlerBowl` (and `FiberMiddlewareBowl`) to support `PSR 15` Requests handlers into a recipe.
    - `MiddlewareBowl` (and `FiberMiddlewareBowl`) to support `PSR 15` middleware into a recipe.
- Add `Teknoo\\East\\Foundation\\Normalizer\\Object\\GroupsTrait
- Add a pseudo non blocking Sleep service, build on timer
- Triggering asynchronous tasks (thanks to pcntl) for timers.
- Setting up a worker health check.
- Provides non blocking sleep method.

News from Teknoo East Foundation 6.x
------------------------------------

[](#news-from-teknoo-east-foundation-6x)

This library requires PHP 8.1 or newer and it's only compatible with Symfony 6.1 or newer :

- Constants are final in `SessionMiddleware`, processors, routers and sessions components.
- Use readonly for immutables objects (`Processor` and routers' results).
- Support Fibers in main `Plan` and `RecipeEndPoint`. `RecipeEndPoint` accepts also bowl and `FiberRecipeBowl`.
- Remove support of PHP 8.0 and Symfony 5.4 and below.

News from Teknoo East Foundation 5.x
------------------------------------

[](#news-from-teknoo-east-foundation-5x)

This library requires PHP 8.0 or newer and it's only compatible with Symfony 5.2 or newer :

- Migrate to PHP 8.0+
- Remove support of Symfony 4.4, only 5.2+
- Constructor Property Promotion
- Non-capturing catches
- switch to str\_contains
- Messenger's executor use an empty manager and clone it
- Add method to configure client's behavior when a it must send a missing response (silently or throw an exception)
- Add `ClientInterface::mustSendAResponse`
- Add `ClientInterface::sendAResponseIsOptional`
- Processor will configure in non silent mode if a compatible callable is available and was returned by Router
- This behavior can be disable by set `teknoo.east.client.must_send_response` to false in DI
- Move ClientInterface to `Teknoo\East\Foundation\Client` from `Teknoo\East\Foundation\Http`
- Add `Teknoo\East\Foundation\Client\ResultInterface`
- `ClientInterface` accept also ResultInterface instead PSR's message
- All clients implementations adopts new client interfaces
- Symfony Clients implementations supports `ResultInterface` and `JsonSerializable` responses

News from Teknoo East Foundation 4.x
------------------------------------

[](#news-from-teknoo-east-foundation-4x)

This library requires PHP 7.4 or newer and it's only compatible with Symfony 4.4 or newer :

- Switch to States 4.1.9 and PHPStan 0.12.79
- Prepare library to be used in non HTTP context
- Use MessageInterface instead of ServerRequestInterface
- Plan and ProcessorPlan use BasePlanTrait
- Add `PSR 11` Message only implementation
- Add MessageFactory
- Update Client Interface to use MessageInterface instead of RequestInterface
- Add Recipe executor dedicated to Symfony Messenger
- Add Client dedicated to Symfony Messenger
- Remove some public services

News from Teknoo East Foundation 3.x
------------------------------------

[](#news-from-teknoo-east-foundation-3x)

This library requires PHP 7.4 or newer and it's only compatible with Symfony 4.4 or newer :

- Remove Symfony Template component (integration deprecated into symfony)
- Create EngineInterface to allow creation of adapter to any templating Engine
- Create ResultInterface to allow asynchrone template rendering for callback streaming
- Create Twig Engine implementing EngineInterface and ResultInterface
- Remove 'east.controller.service' tag (not used)
- Add east.endpoint.template to inject Twig engine adapter
- Fix services definitions
- Complete tests
- Migrate universal folder in src to src's root and remove legacy support

News from Teknoo East Foundation 2.x
------------------------------------

[](#news-from-teknoo-east-foundation-2x)

This library requires PHP 7.4 or newer and it's only compatible with Symfony 4.4 or newer :

- PHP 7.4 is the minimum required
- Switch to typed properties
- Remove some PHP useless DockBlocks
- Replace array\_merge by "..." operators for integer indexed arrays
- Support zendframework/zend-diactoros 2.2
- Restrict to Symfony 4.4 or 5.+ and remove some deprecated
- Set `Teknoo\East\Foundation\Manager\ManagerInterface` and `Teknoo\East\Foundation\Http\ClientInterface` as synthetic services into Symfony's services definitions to avoid compilation error with Symfony 4.4
- Set `Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory` into Symfony's services definitions to avoid compilation error with Symfony 4.4
- Enable PHPStan in QA Tools and disable PHPMD

Contribute :)
-------------

[](#contribute-)

You are welcome to contribute to this project. [Fork it on Github](CONTRIBUTING.md)

###  Health Score

64

—

FairBetter than 99% of packages

Maintenance90

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity100

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 100% 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 ~19 days

Total

189

Last Release

51d ago

Major Versions

4.1.2 → 5.0.02021-03-20

5.3.11 → 6.0.02022-02-23

6.2.12 → 7.0.0-beta12023-07-12

7.9.0 → 8.0.02024-11-01

8.0.5 → 9.0.02025-09-02

PHP version history (10 changes)0.0.1-alpha1PHP ~7.0

0.0.5-beta3PHP ~7.1

1.0.0PHP ~7.2

2.0.0-beta1PHP ~7.4

3.2.1PHP ~7.4||~8.0

5.0.0PHP ~8.0

6.0.0PHP ~8.1

6.0.1PHP ^8.1

7.7.0PHP ^8.2

9.0.0PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/e78f8fa644d9bbbd96dc92b2210e1290250522e56365345442c56eb8d042fb53?d=identicon)[frenchcomp](/maintainers/frenchcomp)

---

Top Contributors

[![frenchcomp](https://avatars.githubusercontent.com/u/1397905?v=4)](https://github.com/frenchcomp "frenchcomp (506 commits)")

---

Tags

controllerdesignpsr15East

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/teknoo-east-foundation/health.svg)

```
[![Health](https://phpackages.com/badges/teknoo-east-foundation/health.svg)](https://phpackages.com/packages/teknoo-east-foundation)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[kreait/firebase-php

Firebase Admin SDK

2.4k39.7M72](/packages/kreait-firebase-php)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[neos/flow-development-collection

Flow packages in a joined repository for pull requests.

144179.3k3](/packages/neos-flow-development-collection)[windwalker/framework

The next generation PHP framework.

25639.1k1](/packages/windwalker-framework)

PHPackages © 2026

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