2011-12-07 77 views
0

這行代碼是創建一個拇指的對象,但有警告在PHP 5.3.x重寫代碼棄用

「分配參照新的返回值已棄用」

if (FALSE === ($thumb =& new thumbnail_party(500, 500, '#FFFFFF', 'jpg', CACHE_PATH))) { 

如何重寫它沒有任何警告?

THX

回答

2

刪除&字符引用已經不再需要。默認情況下它已通過引用傳遞。

+0

吹毛求疵:http://docs.php.net/language.oop5.references:「其中一個關鍵點經常提到的PHP 5 OOP是「對象通過默認引用傳遞」。這不完全正確。「 – VolkerK

1
if(false === ($thumb = new thumbnail_party(500, 500, '#FFFFFF', 'jpg', CACHE_PATH))){ 
    // ... 
} 

但是,new運營商絕不會導致false,使支票在很大程度上是沒有意義的。

如果thumbnail_party是一個類你有控制權,可以考慮從構造函數而不是拋出異常:

try{ 
    $thumb = new thumbnail_part(/* ... */); 
}catch(Exception $exception){ 
    // failed to create $thumb 
}