mxc-commons/mxc-servicemanager

对Zend ServiceManager 3.2进行重构以提高性能。

1.1.0 2018-12-10 18:15 UTC

This package is auto-updated.

Last update: 2024-09-06 00:15:45 UTC


README

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

版本

版本1.1由Frank Hein于2018-12-10创建,德国maxence operations GmbH。

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

简介

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

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

mxc-servicemanager将与zend-servicemanager保持兼容。zend-servicemanager master和develop分支的更改将根据适当和适用的情况合并到mxc-servicemanager中。

特性

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

安装

要安装mxc-servicemanager

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

  2. 将mxc-servicemanager添加到您的composer.json中作为依赖

    "require": {
        "mxc-commons/mxc-servicemanager": "^1.1"
    }
  3. 配置PSR-4符合的命名空间Zend\ServiceManager的自动加载。如果您使用基于composer的推荐自动加载方式,请在您的composer.json中添加此配置

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

现在您可以像以前一样使用Zend\ServiceManager。zend-servicemanager将被mxc-servicemanager透明地替换。mxc-servicemanager实例仍然通过new Zend\ServiceManager\ServiceManager创建。

许可证

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

讨论

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

状态

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

致谢

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

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

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