作者曾在面試中遇到找錯誤題目,除基本語法錯誤外,更進一步指出程式碼風格與最佳實踐問題,最終獲得青睞。這 10 個習慣正是從實戰經驗中萃取,能讓你的程式碼更專業、高效。
雙引號會觸發變數解析與跳脫處理,單引號則直接輸出,效能略優。僅在需變數插值時使用雙引號。
// 建議 echo 'Hello World'; // 僅需插值時 echo "Hello $name";
// 最快:echo 多參數以逗號分隔(僅 echo 支援) echo 'Hi ', $a, ', I am ', $b; // 較慢:點號串接 echo 'Hi ' . $a . ', I am ' . $b; // 最慢:雙引號變數解析 echo "Hi $a, I am $b";
實測逗號分隔最快,且變數在編輯器會高亮,閱讀性更佳。
// 錯誤寫法:$arr[key] 會先嘗試尋找常數 key $arr['key'] = 'value'; // 正確
未加引號會被視為常數,找不到才回退為字串,既慢又易產生潛在 Bug(若未來定義同名常數)。
<?短標籤 <? 易與 XML 宣告衝突,且需開啟 short_open_tag 設定,移植性極差。統一使用 <?php。
=== 嚴格比較避免 == 的型別轉換陷阱(如 '0' == false 為 true),關鍵邏輯務必用 ===。
StudlyCaps(如 UserModel)camelCase(如 getUserName())UPPER_SNAKE_CASE一個函式只做一件事,超過 20 行考慮拆分。便於測試、複用與除錯。
避免在類別內直接 new 依賴或使用全域變數,透過建構子注入,利於單元測試與解耦。
// 不佳
throw new Exception('Error');
// 建議
throw new InvalidArgumentException('Invalid user ID');
便於上層精準捕捉處理。
// 差:計算總價 $total = $price * $qty; // 佳:依業務規則,滿 1000 免運費,故先計算小計 $subtotal = $price * $qty;
這 10 個習慣不僅能加分面試,更能在實務專案中減少 Bug、提升團隊協作效率。養成習慣,寫出專業級 PHP 代碼。