mxc-commons/znd-servicemanager

zend-servicemanager 3.2重构,性能大幅提升。

1.0 2018-11-26 13:07 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:23 UTC


README

master: Build Status Coverage Status develop: Build Status Coverage Status

版本

版本1.0,由Frank Hein,德国maxence operations GmbH于2018年11月26日创建。

此版本基于Zend Service Manager 3.x,与之向后兼容。

介绍

znd-servicemanager是与zend-servicemanager 3.x兼容的组件。它可以用来替代zend-servicemanager 3.x版本。与zend-servicemanager不同,此组件不支持PHP 5.6。

为了提高性能,我们对zend-servicemanager的几个部分进行了重构。这包括配置和设置、工厂缓存和服务解析。

znd-servicemanager将保持与zend-servicemanager的兼容性。zend-servicemanager主分支和develop分支的更改将根据适用性合并到znd-servicemanager中。

特性

  • 通过configure()加速服务管理器配置
  • 通过API加速服务管理器配置
    • addAbstractFactory
    • addDelegator
    • addInitializer
    • mapLazyService
    • setAlias
    • setFactory
    • setInvokableClass
    • setService
    • setShared
  • 加速以下服务交付
    • 别名
    • 委托者
    • 调用者
    • 抽象工厂
  • 加速服务管理器资产
    • ConfigAbstractFactory
  • 全面的基准测试套件

安装

要安装znd-servicemanager

  1. 从项目中移除对zend-servicemanager的依赖。

  2. 将znd-servicemanager添加到composer.json中的依赖项

    "require": {
        "mxc-commons/znd-servicemanager": "^1.0"
    }
  3. 配置PSR-4兼容的命名空间自动加载Zend\ServiceManager。如果您使用基于composer的推荐的自动加载方式,请将以下配置添加到composer.json中

    "autoload": {
        "psr-4": {
            "Zend\\ServiceManager\\": "src/"
        }
    },
  4. 运行composer update

现在您可以使用您习惯的方式使用Zend\ServiceManager。zend-servicemanager被透明地替换为znd-servicemanager。znd-servicemanager实例仍然通过new Zend\ServiceManager\ServiceManager创建。

许可证

znd-servicemanager在New BSD许可证下提供。请参阅LICENSE.md

讨论

讨论所有与此分支相关问题的平台是mxc-commons/znd-servicemanager的问题部分

状态

请参考CHANGELOG.md以获取更改和增强功能的列表。每个版本都包含全面的基准比较。在BENCHMARKS.md中提供了基准测试的简要描述。

致谢

本作品基于zend-servicemanager,它是Zend Framework的一部分。如果没有Matthew Weier O'Phinney (@weierophinney)以及为Zend Framework做出贡献的众多人的工作,本作品将无法完成。

单元测试使用Sebastian Bergmann的PHPUnit单元测试框架(@sebastianbergmann)进行。

基准测试使用Daniel Leech的PHPBench基准测试框架(@dantleech)进行。