ZF2模块加载性能

Max*_*Max 7 php performance class autoload zend-framework2

据我所知,ZF2应用程序中的每个已启用模块都会为每个请求加载(除非使用优化方法,例如zf2-lazy-loading-module模块提供的优化方法).我一直在关注发布的模块,modules.zendframework.org并且我遇到了提供极其有限功能的模块,例如AkrabatFormatUkTelephone模块,其目的是将电话号码格式化为英国格式.

虽然我理解开发应该专注于创建擅长做一件事的单一目的模块(而不是做很多事情但不是很好的模块的模块),我想我们是否开始使用提供如此有限的功能的模块提到的那个,我们需要结合数百个模块来构建一个可能对性能造成灾难性的丰富应用程序.相反,我希望将这种功能放在一个类(例如Zend\I18n?)中并按需加载,这将更加优化.但是知道Akrabat的声誉我认为我必须遗漏一些东西,因此我的问题是:

像我提到的那样的模块加载是否比通过PHP类加载相同功能的性能差得多(或者由于ZF2的设计方式而类似)?有没有人有关于模块与类加载性能的数据(即5%,10%,15%慢)?

Sam*_*Sam 3

不要将此评论作为最终答案,因为希望 ZF2 开发人员中的某个人能够对此提供更多见解,但通常只是并且Module.php通常module.config.php主动加载。其他一切都将简单地注册并按需调用。因此,只要您的 Module.php 和 module.config.php 文件大小不是太大,性能就不应该是一个大问题

在 Akrabats 示例中,所发生的只是新 ViewHelper 的注册表。没有其他的。Zend 内的所有其他视图助手也是如此。在这些情况下,性能实际上并不重要。

就我个人而言,Skeleton 在我的网站空间上加载了 80 毫秒,而使用 BjyAuthorize、ZfcBase、ZfcUser 和我自己的模块,加载时间增加到 100 毫秒。而且这还没有启用任何类型的内存缓存!