我想知道在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
答案 0 :(得分:5)
您可以使用memory_get_usage()
测试内存使用情况。我会假设静态类使用更少的内存。但差异可能微不足道。无法访问您的项目,我只能鼓励您使用上述功能设置自己的小测试,以查看案例。
答案 1 :(得分:2)
会有一点开销,因为需要创建一个对象并将其放入内存中。但问题是,它是否引人注目。
我的意见是你应该看看哪种方法最方便。这种优化主要是微优化
答案 2 :(得分:1)
在OO语言中,静态方法和对象各有利弊。静态方法和对象使用的资源量可能存在细微差别,并且基于系统配置,它们的性能可能因系统而异。
与静态方法不同,对象可以多次声明和使用,静态方法的作用类似于全局变量。即使这样,对象和静态方法的使用也取决于手头的项目。