技术上/空容器

空(始终为空)PSR-11 容器实现

2.0.0 2021-03-31 11:06 UTC

This package is auto-updated.

Last update: 2024-09-14 20:25:27 UTC


README

Technically\NullContainer 是一个始终为空的 PSR-11 容器实现。

这是 PSR-11 的 空对象模式 实现。

当你想要提供一个可选的 ContainerInterface 依赖,但又不想处理可空值时,这很有用。

Tests Status

功能

  • PSR-11
  • PHP 8.0+
  • 语义化版本
  • 测试
  • 变更日志

安装

使用 Composer 包管理器将 NullContainer 添加到您的项目中

composer require technically/null-container

示例

use Psr\Container\ContainerInterface;
use Technically\NullContainer\NullContainer;

final class MyServiceContainer implements ContainerInterface
{
    private ContainerInterface $parent;

    /**
     * @param ContainerInterface|null $parent
     */
    public function __construct(ContainerInterface $parent = null)
    {
        $this->parent = $parent ?? new NullContainer();
    }

    // ... your code, where you don't need to deal with $parent set to `null`.
}

变更日志

此项目的所有显著更改都将记录在 CHANGELOG 文件中。

致谢