首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

如何寫出讓面試官滿意的 PHP 代碼?關鍵習慣大公開

     編輯:PHP 相關知識

引言

SitePoint 前面試官 Kevin Yank 曾分享《Good and Bad PHP Code》,揭露招聘過程中令他驚訝的現象:看似基礎的編碼規範,竟讓團隊花費三個月才招到合格者。本文提煉核心要點,助你養成專業級編碼習慣。

六大關鍵習慣

1. 使用完整標籤 <?php

短標籤 <? 依賴 short_open_tag 設定,移植性差,且與 XML 聲明衝突。永遠使用 <?php。

2. 輸出前檢查變量是否存在

<?php
// ❌ 錯誤:直接輸出可能觸發 Notice
echo $_GET['query'];

// ✅ 正確:先判斷
echo isset($_GET['query']) ? htmlspecialchars($_GET['query']) : '';
?>

3. echo 去除多餘括號

<?php
// ❌ 語法雖合法但非必要
echo ("Hello");

// ✅ 推薦:echo 是語言結構,非函數
echo "Hello";
?>

4. 字串優先使用單引號

<?php
// ❌ 雙引號會解析變數,效能稍低
$sql = "SELECT * FROM users WHERE id = $id";

// ✅ 單引號不解析,速度更快;變數用串接
$sql = 'SELECT * FROM users WHERE id = ' . $id;
?>

5. echo 多參數用逗號而非點號串接

<?php
// ❌ 點號串接:先建立臨時字串再輸出
echo 'Name: ' . $name . ', Age: ' . $age;

// ✅ 逗號分隔:直接依序輸出,無臨時字串開銷
echo 'Name: ', $name, ', Age: ', $age;
?>

6. htmlspecialchars 必加 ENT_QUOTES

<?php
// ❌ 預設 ENT_COMPAT 僅轉義雙引號,單引號仍可注入屬性
echo htmlspecialchars($input);

// ✅ 轉義單雙引號,防屬性逃逸 XSS
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
?>

為什麼這些「白癡」規則很重要?

  • 可維護性:統一風格降低認知負擔,團隊協作更順暢。
  • 安全性:習慣性防禦(檢查變量、轉義輸出)能阻擋 80% 以上常見漏洞。
  • 效能意識:單引號、逗號輸出等微優化,累積百萬行代碼效果顯著。
  • 專業度訊號:細節見真章,面試官透過此類規範快速篩選「有工程素養」的候選人。

延伸建議:建立團隊編碼標準

  1. 採用 PSR-12 作為基準風格。
  2. 引入 PHP_CodeSniffer + PHP-CS-Fixer 自動檢查與修復。
  3. CI 流程整合靜態分析(PHPStan、Psalm)捕捉型別錯誤。
  4. Code Review 時以「規範」而非「喜好」為準則。

結語

「懂 PHP 的人多如牛毛,但寫出乾淨、安全、可維護代碼的工程師卻稀缺。」從今天開始,將這六個習慣內化為肌肉記憶,你的代碼質量將躍升一個台階。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved