簡體   English   中英

在Joomla中處理E_STRICT

[英]Dealing with E_STRICT in Joomla

$db =& JFactory::getDBO();

E_STRICT給我這個

嚴格標准:僅變量應通過引用分配

這到底是什么意思? 我正在使用JFactory ,就像在文檔中說的那樣。 我應該擔心嗎?

谷歌搜索錯誤只會給我一大堆Joomla人說我應該禁用E_STRICT 我不想走簡單的路,因為我正在努力提高自己的技能。

對於SO來說,這確實是一個問題,因為這不是審查。 但是,如果您在這里問這個問題,他們會以最快的速度拒絕您的意見。 您確實應該在尋求幫助之前先用Google搜索這類東西,因為這已經有據可查。 僅此警告就足以回答您的問題。

但是,此錯誤的原因是因為這是一個類方法,而不是變量。 和靜態啟動。 嚴格的警告(任何警告或錯誤都應始終聆聽)告訴您沒有什么可參考的。 引用會自動復制您對$db所做的任何更改,並將它們應用於所引用的任何變量,從而有效地克隆它。 所以現在您開始看到一個問題。 正如我所說,您不是在引用變量,而是在引用方法的返回值,該方法只是內存的一部分,無法引用。

因此,您可以這樣做:

$temp = JFactory::getDBO();
$db =& $temp;

它會很好地工作。 但是,這完全沒有必要。 這里完全不需要引用。 您真正想要做的只是將方法的返回值設置為變量,並在其余代碼中使用它。 通常,特別是對於剛開始編程的人來說,不需要引用。 通過將先前的變量分配給新變量,進行更改,然后將新變量重新分配回舊變量,可以完成相同的操作。 留下參考,直到您了解更多並能更好地理解它為止。 即使經過多年編程,我也很少使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM