2010-03-22 57 views
0

對不起,如果這更多的是一個理論問題,那麼現實生活中的問題,但它是一個現實生活中的情況。我們正在評論PHP與增值服務器搭配使用的方式,以及由於其「混合變數」和某些事情發生在服務器上的內存過多,爲什麼不從一開始就進行類型轉換?定義我的變量時,我應該在PHP中進行類型轉換嗎?

所以我想我的問題是:如果你所有的PHP變量都是「預鑄」的,它是否會對服務器負載產生任何影響?

例子:

protected $_id; VS protected (int) $_id;

回答

6

的問題沒有任何意義,因爲你提出的想法甚至不會在PHP 5編譯寫括號內的類型的類型轉換爲類型在括號內。即使編譯它也不會在變量聲明中做任何事情。

你怎麼知道這是由於動態打字造成的內存沉重?確實存在開銷,但還有很多可能導致內存使用的其他事情,而不是所有這些都不好。例如,在很多情況下,虛擬機將佔用比堆中所需的更多的內存來加速內存分配。 PHP過程也是如此。

+0

說實話,我沒有在我們的服務器上做過任何觀察,我只評論了PHP的「飢餓」,因爲它在資源管理方面享有先前的聲譽(與例如ASP或C等低級語言相比)。我很抱歉,如果我寫的東西聽起來很愚蠢,但我只是想弄清楚我的代碼是否可以更好地優化。感謝你的回答。 – Borislav 2010-03-22 11:38:38