dakujem/sleeve

轻量级PSR-11服务容器 📦。Symfony Pimple容器的简单扩展。

1.1 2022-08-31 11:26 UTC

This package is auto-updated.

Last update: 2024-08-29 10:23:41 UTC


README

PHP from Packagist Coverage Status Nature Friendly

轻量级PSR-11服务容器。
Symfony Pimple容器的简单扩展。

💿 composer require dakujem/sleeve

Sleeve...

  • 非常简单
  • 与PSR-11兼容
  • 扩展了Pimple (pimple/pimple),一个由Symfony提供的简单依赖注入容器
  • 仅在上层添加了一些便利方法(访问器)
  • Slim v4和其他微框架和堆栈配合良好

用法

在Pimple之上添加

  • 方法 getsethasunset
  • 魔术访问器 __get__set__isset__unset

示例

$dic = new Dakujem\Sleeve;

// the following are equivalent
$service = $dic->get('service');    // getter
$service = $dic['service'];         // array accessor
$service = $dic->service;           // magic accessor

// it works for setting services as well
$factory = function(Container $dic) {
               return new Acme\MyService($dic->get('dependency'));
           };
$dic->set('service', $factory);     // setter
$dic['service'] = $factory;         // array accessor
$dic->service = $factory;           // magic accessor

Sleeve支持(通过Pimple)

  • 单例服务(全局)
  • 工厂服务(工厂)
  • 参数(带有保护)
  • 扩展(服务提供者)

📖 阅读完整的文档,请参阅Pimple容器使用文档。实际上非常简短。

测试

composer test

已测试PHP版本7.1及以上。