PHPackages                             phalcon/bridge-psr11 - 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. [Framework](/categories/framework)
4. /
5. phalcon/bridge-psr11

ActiveLibrary[Framework](/categories/framework)

phalcon/bridge-psr11
====================

Phalcon Framework bridge classes for PSR-11

v2.0.0(1mo ago)00MITPHP &gt;=8.1 &lt;9.0

Since Jul 6Compare

[ Source](https://github.com/phalcon/bridge-psr11)[ Packagist](https://packagist.org/packages/phalcon/bridge-psr11)[ GitHub Sponsors](https://github.com/phalcon)[ Fund](https://opencollective.com/phalcon)[ RSS](/packages/phalcon-bridge-psr11/feed)WikiDiscussions Synced 1w ago

READMEChangelog (1)Dependencies (10)Versions (2)Used By (0)

Phalcon Framework - Bridge PSR-11
=================================

[](#phalcon-framework---bridge-psr-11)

[![Bridge PSR-11 CI](https://github.com/phalcon/bridge-psr11/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/phalcon/bridge-psr11/actions/workflows/main.yml)[![Quality Gate Status](https://camo.githubusercontent.com/eb6a29e1cab7cb65157e3801e09cbae20e95c3f9c0fe7683ffc41977e7e8fbd5/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d7068616c636f6e5f6272696467652d7073723131266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/summary/new_code?id=phalcon_bridge-psr11)[![Coverage](https://camo.githubusercontent.com/f047cacf4aafcc3e56efe9b68f588657b4815455af26920712304907ee8b3276/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d7068616c636f6e5f6272696467652d7073723131266d65747269633d636f766572616765)](https://sonarcloud.io/summary/new_code?id=phalcon_bridge-psr11)[![PDS Skeleton](https://camo.githubusercontent.com/50d01a5094afcc3a827c3cadaec43d23b2a256cb249f5fdd6e5ffdb53ea7971c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7064732d736b656c65746f6e2d626c75652e7376673f7374796c653d666c61742d737175617265)](https://github.com/php-pds/skeleton)

Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption.

Bridge PSR-11 connects the Phalcon container ([Phalcon\\Container\\Container](https://docs.phalcon.io/latest/container/)) and the PSR-11 (`Psr\Container\ContainerInterface`) standard in both directions:

- **`Container`** - a PSR-11 container backed by a Phalcon container. Use it wherever a `Psr\Container\ContainerInterface` is expected.
- **`Adapter`** - wraps any PSR-11 container so it can be consumed through the Phalcon container's `get()` / `has()` surface.

Installation
------------

[](#installation)

You can install the package using composer

```
composer require phalcon/bridge-psr11
```

Usage
-----

[](#usage)

### `Container` - use a Phalcon container through a PSR-11 interface

[](#container---use-a-phalcon-container-through-a-psr-11-interface)

`Phalcon\Bridge\Psr11\Container` *is* a `Psr\Container\ContainerInterface`, backed by a Phalcon container. Hand it to any code that expects a PSR-11 container.

```
use Phalcon\Bridge\Psr11\Container;
use Phalcon\Container\Container as PhalconContainer;

// A configured Phalcon container
$phalcon = new PhalconContainer();
// ... register services on $phalcon ...

$container = new Container($phalcon);

// $container is a Psr\Container\ContainerInterface
if ($container->has('router')) {
    $router = $container->get('router');
}
```

A missing entry throws `Phalcon\Bridge\Psr11\Exception\NotFound` (a `Psr\Container\NotFoundExceptionInterface`); `has()` never throws.

### `Adapter` - use a PSR-11 container as a Phalcon container

[](#adapter---use-a-psr-11-container-as-a-phalcon-container)

`Phalcon\Bridge\Psr11\Adapter` wraps a `Psr\Container\ContainerInterface` and exposes it through the Phalcon container's `get()` / `has()` surface. Use it when a PSR-11 container already exists, such as PHP-DI, and it needs to act as a Phalcon container.

```
use Phalcon\Bridge\Psr11\Adapter;

// Any Psr\Container\ContainerInterface, e.g. PHP-DI
$psr = new DI\Container(/* ... */);

$container = new Adapter($psr);

if ($container->has('service')) {
    $service = $container->get('service');
}
```

Development
-----------

[](#development)

The repository ships a Docker setup for local development and testing. You only need Docker + Docker Compose; the PHP runtime and Phalcon are provided inside the container.

### Quick start

[](#quick-start)

```
docker compose up -d --build
docker compose exec app composer install
docker compose exec app composer test
```

> `app` is the Compose *service* name. The running container is `bridge-psr11-app` (override with `PROJECT_PREFIX`). It stays up via a `sleep infinity` keepalive, so you can `docker compose exec app ` freely (e.g. `composer update`).

### Choosing the PHP version

[](#choosing-the-php-version)

The image is built for one PHP version at a time, selected with the `PHP_VERSION` build arg (default `8.5`; supported `8.1`–`8.5`). Because it is a **build** arg, changing it requires a rebuild (`--build`):

```
docker compose up -d --build                  # PHP 8.5 (default)
PHP_VERSION=8.1 docker compose up -d --build  # PHP 8.1
PHP_VERSION=8.4 docker compose up -d --build  # PHP 8.4
```

The container keeps the same name, so each rebuild **replaces** the previous one. To run several versions side by side, give each its own Compose project and prefix:

```
PHP_VERSION=8.1 PROJECT_PREFIX=bridge-psr11-81 docker compose -p bridge-psr11-81 up -d --build
# then: docker exec -w /srv bridge-psr11-81-app composer test
```

### Choosing the backend

[](#choosing-the-backend)

The bridge works against either Phalcon runtime, selected with the `PHALCON_VARIANT` build arg:

```
docker compose up -d --build                     # package: phalcon/phalcon (v6, default)
PHALCON_VARIANT=ext docker compose up -d --build  # ext: cphalcon C extension (v5)
```

Tip: drop `PHP_VERSION` / `PHALCON_VARIANT` into a `.env` file in the repo root to avoid prefixing every command — Compose reads it automatically.

### Composer scripts

[](#composer-scripts)

Run them inside the container, e.g. `docker compose exec app composer cs`:

ScriptDescription`composer cs`PHP\_CodeSniffer (PSR-12)`composer cs-fix`Auto-fix coding-standard issues (phpcbf)`composer cs-fixer`PHP CS Fixer (dry-run)`composer cs-fixer-fix`Apply PHP CS Fixer`composer analyze`PHPStan static analysis`composer test` / `composer test-unit`Unit tests via [`phalcon/talon`](https://github.com/phalcon/talon)`composer test-coverage`Tests + Clover coverage (`tests/_output/coverage.xml`)Links
-----

[](#links)

### General

[](#general)

- [Official Documentation](https://docs.phalcon.io/)

### Support

[](#support)

- [Forum](https://phalcon.io/forum)
- [Discord](https://phalcon.io/discord)
- [Stack Overflow](https://phalcon.io/so)

### Social Media

[](#social-media)

- [Telegram](https://phalcon.io/telegram)
- [Gab](https://phalcon.io/gab)
- [LinkedIn](https://phalcon.io/linkedin)
- [MeWe](https://phalcon.io/mewe)
- [Facebook](https://phalcon.io/fb)
- [Twitter](https://phalcon.io/t)

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance90

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

49d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1221505?v=4)[The Phalcon PHP Framework](/maintainers/phalcon)[@phalcon](https://github.com/phalcon)

---

Tags

phpPSR-11frameworkphalcon

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/phalcon-bridge-psr11/health.svg)

```
[![Health](https://phpackages.com/badges/phalcon-bridge-psr11/health.svg)](https://phpackages.com/packages/phalcon-bridge-psr11)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.9k556.2M21.5k](/packages/laravel-framework)[symfony/symfony

The Symfony PHP framework

31.4k87.4M2.2k](/packages/symfony-symfony)[cakephp/cakephp

The CakePHP framework

8.9k20.0M1.9k](/packages/cakephp-cakephp)[mnapoli/silly

Silly CLI micro-framework based on Symfony Console

94010.8M154](/packages/mnapoli-silly)[tempest/framework

The PHP framework that gets out of your way.

2.3k37.6k21](/packages/tempest-framework)[cakephp/core

CakePHP Framework Core classes

6129.4M78](/packages/cakephp-core)

PHPackages © 2026

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