框架中的php全局变量开销

Sha*_*iul 5 php performance frameworks global

我目前正在开发一个使用Core类对象的框架(这个类具有巨大的功能并使框架工作).该框架遵循MVC架构并具有松散耦合的Model,Control,View类.这些类需要Core大量引用该类.到目前为止我所做的是:创建Core类的单个对象并通过globalModel,Control,View类中的PHP关键字引用它.

我不喜欢使用这种方法主要是因为:

  • 在我看来,这种方式不是真正面向对象的方式
  • IDE(netbeans)无法为Core类的对象提供文档- 对于将使用此框架的开发人员来说是一种痛苦.
  • 我真的很担心性能问题 - 不知道global是慢还是其他.

我搜索过,没有找到有关性能问题的任何信息.我也搜索了stackoverflow并发现使用全局创建任何开销?&PHP中全局变量和函数参数之间的优缺点?等链接,但它们不包含太多信息.现在我的主要关注点是表现,所以请帮忙.

ter*_*ško 4

我必须同意NevilleK 的观点,你的 Core` 类听起来符合God Object反模式。

对于任何愚蠢到建议使用单例/注册表的人,我建议对这个主题做一些研究。它们创建与经典全局变量相同的全局状态。

全局状态与性能无关(尽管在 php 中它有一些较小的影响),但它创建了不可测试且紧密耦合的代码。

您确实应该研究一下依赖注入。这可能会向您展示另一种方式,它不需要Core在代码中包含这样的类。


为您提供一些额外的视频: