【发布时间】:2011-09-08 09:05:31
【问题描述】:
我目前正在开发一个使用Core 类对象的框架(该类具有巨大的功能并使框架工作)。该框架遵循 MVC 架构并具有松散耦合的模型、控制、视图类。这些类需要大量引用Core 类。到目前为止,我所做的是:创建 Core 类的单个对象并在模型、控制、视图类中通过 PHP 关键字 global 引用它。
我不喜欢使用这种方法主要是因为:
- 在我看来,这种方式不是真正的面向对象方式
- IDE (netbeans) 无法为
Core类的对象提供文档 - 对于将使用此框架的开发人员来说是个难题。 -
我真的很担心性能问题 - 不知道
global是不是更慢了。
我已搜索并没有找到任何有关性能问题的信息。我还搜索了 stackoverflow 并找到了 Does using global create any overhead? 和 The advantage / disadvantage between global variables and function parameters in PHP? 等链接,但它们不包含太多信息。 现在我主要关心的是性能,所以请帮忙。
【问题讨论】:
-
如果你真的关心性能,你应该已经针对不同的场景做了一些测量。
-
不,实际上我没有根据不同的可能场景进行任何模拟。我缺乏软件测试方面的知识。任何帮助都将不胜感激
-
循环访问全局(例如在其上调用无操作函数)。在另一个循环中以其他方式(非全局)访问它。 Measure the time taken by each loop.
-
使用共享范围(这就是 PHP 中的全局变量实际上是什么)与 OOP 无关。这只是另一种语言功能。试图不惜一切代价避免某些事情通常包括性能。
标签: php performance frameworks global