使用PHP类对象与静态类方法有任何开销吗?

时间:2010-01-22 05:50:19

标签: php performance object

我想知道在PHP中使用Object而不是使用基于我下面的示例的静态方法是否有额外的开销?

Session类的Sesseion对象

$session = new Session;
$session->set(user_id, $uswer_id); //set session var
$session->get(user_id);            // get session var

VS


会话课程中的静态方法

Session::set(user_id, $uswer_id); //set session var
Session::get(user_id);            // get session var

3 个答案:

答案 0 :(得分:5)

您可以使用memory_get_usage()测试内存使用情况。我会假设静态类使用更少的内存。但差异可能微不足道。无法访问您的项目,我只能鼓励您使用上述功能设置自己的小测试,以查看案例。

答案 1 :(得分:2)

会有一点开销,因为需要创建一个对象并将其放入内存中。但问题是,它是否引人注目。

我的意见是你应该看看哪种方法最方便。这种优化主要是微优化

答案 2 :(得分:1)

在OO语言中,静态方法和对象各有利弊。静态方法和对象使用的资源量可能存在细微差别,并且基于系统配置,它们的性能可能因系统而异。

与静态方法不同,对象可以多次声明和使用,静态方法的作用类似于全局变量。即使这样,对象和静态方法的使用也取决于手头的项目。