作曲家是否在 ZF2 中提供比 Zend Loader 的任何性能



ZF2 正在使用 Composer 进行包管理和分发。我的问题是,它是否比Zend Loader提供了任何性能提升?

首先,ZendLoader只是命名空间,并在后台呈现多个类,如工厂、自动加载器、插件加载器、模块加载器等......因此,Zend Loader!== Composer和比较不同的概念通常是错误的。

第二件事是,作曲家

不是"包管理器",你可以在没有作曲家的情况下使用 ZF2。从文档中:

作曲家不是包管理器。是的,它处理"包"或 库,但它基于每个项目管理它们,安装它们 在项目内的目录(例如供应商)中。默认情况下,它将 切勿在全球范围内安装任何东西。因此,它是一个依赖管理器。

作曲家的主要关注点是在库之间提供简单的依赖关系管理,标准化自动加载过程等,而不是性能。它还为您的项目准备一个自动加载文件,用于由作曲家安装的第三方库中的所有类。这使我们的生活更美好。

另一方面,Zend Loader 命名空间和相关类。官方文档中的这个简短摘要非常简单:

ZF2 采用多种自动加载策略;例如,您可以 为您最常用的类提供类映射,但希望使用 PSR-0 第三方库的样式自动加载器。

关于 Zend Loader 命名空间下的类的简短摘要:

  • ClassMap自动加载器:它在设计时考虑了性能。避免自动加载时不必要的文件系统操作。
  • 标准自动加载机
  • :它是符合 PSR-0 标准的自动加载机。假定命名空间 + 类名与文件系统的 1:1 映射。
  • ModuleAutolader :Zend\Loader\SplAutoloader 接口的特殊实现,由 Zend\ModuleManager 用于自动加载来自不同源的模块类。
  • PluginClassLoader :通过提供一种将插件名称别名化为类名以供以后检索的简单机制,将插件名称 -> 解析为 ->类名。

因此,如果您主要关注文件系统级性能,则应关注类映射自动加载和操作码缓存。有很多指标会影响整体应用程序性能,并且没有提高性能的灵丹妙药。

相关内容

  • 没有找到相关文章

最新更新