这将在PHP中的资源使用情况下更有效

时间:2014-12-19 13:51:47

标签: php

我有一个共享主机。所以我必须考虑很多资源使用,因为任何额外的资源使用都会因为资源使用过多而导致网站暂停的机会更高。

在php类中,属性可以来自声明,也可以作为函数中的参数:

class sum{
public $a;
public $b;

public function sum(){
echo $a.' and '.$b;
}
}

$sum = new sum();
$sum->$a = 'Large Variable';
$sum->b = 'Short Variable;

或同样可以通过以下方式实现:

class sum{
public function sum($a=NULLL,$b=NULL){
echo $a.' and '.$b;
}
}
$sum = new sum();
$a = 'Large Variable';
$b = 'Short variable';
$sum->sum($a,$b);

在上面,让$ a是一个大变量,例如javascript或page head部分。

我假设,如果我设置了一个变量,那么服务器会在系统中分配一个内存位置,大小等。假设我在过程php中设置了10个变量,系统为这10个变量分配了10个位置。每次我访问单个变量时,服务器都会对系统的10个不同位置使用读取操作。因此,它增加了读/写操作/资源使用。

另一方面,在对象模型中,服务器为整个对象分配内存,对象内的属性没有额外的空间或位置分配。因此,如果我访问对象的属性,系统只需从一个位置(对象的位置)读取。因此它可能会减少资源使用。但这完全是我的假设,我不确定内存和位置访问是否有效。

那么,如果在对象之外或对象内部设置了$ a,上面哪个将使用更多cpu使用,内存,服务器的进入过程?

先谢谢

1 个答案:

答案 0 :(得分:0)

第二种方法更好,因为变量的范围以函数的范围结束。在第一种方法中,公共变量将与对象一起存在,除非对象从内存中删除..

我仍然会说这取决于系统的要求。