2010-12-04 81 views
-2

我正在尋找整潔的技巧,可用於壓縮PHP代碼,同時工作的樂趣project。讓我分享一些迄今爲止我所知道的。縮短PHP代碼的技巧?

使用直條件語句沒有括號

if(TRUE)yes();else no(); 

您可以獲取並在同一行驗證變量

if(!($value=function($input)||empty($value->foo))return FALSE; 

您可以檢查一個值(缺省)的使用在PHP 5.3 Ternary Operator

$foo = $bar?:NULL; 

條件返回布爾值

return!$foo; 

,也是我將在我的PHP類,以保護他們免受直接訪問的頂部 - 直布爾檢查:

defined('BASE_DIR')||die(); 

什麼是你已經學會了減少空間的最有價值的PHP技巧用過的?

更新:似乎有一些關於如何不可讀的壓縮代碼的關注。我同意,不要通常這樣寫代碼。但是,我試圖將代碼壓縮成非常小的花絮以獲得樂趣,並且我想知道我必須將函數壓縮爲幾十個字符的所有選項。

下一次請回答這個問題,不要推測我對最佳實踐的無知。

+10

_Why_?你會得到更多不可讀的代碼。 – KingCrunch 2010-12-04 16:40:04

+1

在所有這些我只使用2和3 ...我更喜歡自己的可讀性。 – prodigitalson 2010-12-04 16:41:15

回答

8

以這種方式縮短PHP代碼沒有任何好處,因爲它託管在服務器上。 10K和5K腳本(做同樣的事情)對於最終用戶來說看起來不會有什麼不同,因爲結果可能是相同的大小。 PHP腳本本身不提供,不像JavaScript和HTML,這種東西實際上是有用的。可讀性比節省空間的技巧重要得多。

18

我知道縮短PHP代碼的最佳技巧是而不是縮短PHP(或任何語言)代碼。

您提到的所有提示都是我永遠不會使用的內容,因爲可讀性非常強,比使您的文件尺寸更小更重要。

讓我們看看你的第一個例子:

if(TRUE)yes();else no();

如果我們寫這出「手寫」,它應該是這樣的:

if (TRUE) { 
    yes(); 
} else { 
    no(); 
} 

你保存總共14個字節,但費用是多少?

如果你在兩個月內回來(即使你現在不這麼認爲),那麼這兩個代碼示例中的哪一個對你來說會更明顯?

存儲空間很便宜,程序員時間不是。