2010-01-22 72 views
3

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

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 
+0

相关并与一些性能测试:http://stackoverflow.com/questions/1472721/php-performance-of-static-methods-vs-functions – SunnyRed 2011-08-15 12:54:04

回答

2

由于需要创建对象并将其放置在内存中,所以会有一些开销。但问题是,它是否显而易见?

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

5

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

1

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

对象可以被声明和使用多次,而不像静态方法那样作用像全局变量。即使如此,对象和静态方法的使用依赖于项目。

相关问题