phalcon/bridge-psr11 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phalcon/bridge-psr11

Composer 安装命令:

composer require phalcon/bridge-psr11

包简介

Phalcon Framework bridge classes for PSR-11

README 文档

README

Bridge PSR-11 CI Quality Gate Status Coverage 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) 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

You can install the package using composer

composer require phalcon/bridge-psr11

Usage

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

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

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

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 <cmd> freely (e.g. composer update).

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

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

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

Script Description
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
composer test-coverage Tests + Clover coverage (tests/_output/coverage.xml)

Links

General

Support

Social Media

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固