PHP 擴展開發檢測清單(擴展開發必讀)

想要作出一個成功的 PHP 擴展包,不單單是簡單的將代碼放進文件夾中就能夠了,除此以外,還有很是多的因素來決定你的擴展是否優秀。如下清單的內容將有助於完善你的擴展,而且在 PHP 社區中獲得更多的重視。php

1. 爲你的擴展選擇一個正確合適的名字

  • 確保你的命名沒有被其餘項目使用。
  • 擴展的名字須要和你的 PHP 命名空間保持一致。
  • 不要在你的命名空間中使用本身的姓名或者其餘帶有我的色彩的東西。

2. 將你的擴展開源

  • GitHub 能夠免費管理這一類公共的項目。
  • GitHub 很是有助於你來管理這個開源項目,而且方便他人獲取你的擴展。
  • 若是你不想使用,能夠嘗試替代品: Bitbucket.

3. 對自動加載友好一些

  • 使用 PSR-4 兼容的自動加載器命名空間。
  • 請將代碼放在 src 文件夾裏。

4. 經過 Composer 發佈

  • 確保能夠經過 Composer 來找到你的類庫, Composer 是PHP的一個依賴管理工具
  • 發佈在 Packagist上,Packagist 是一個主要的 Composer 包倉庫。

5. 不侷限於框架

  • 不要侷限於項目只能使用在一個框架上。
  • 經過服務提供器來給框架提供特殊支持。

6. 遵循一種編碼風格

7. 編寫單元測試

8. 爲代碼寫註釋

  • 將註釋看成內置文檔來看待。
  • 代碼註釋也能夠改善 IDE 的代碼自動完成功能, 好比 PhpStorm
  • 能夠自動轉換成 API 文檔, 查看 phpDocumentor

9. 使用語義化版本管理

  • 使用 語義化版本號 來管理版本號。
  • 遵循 主版本.次版本.補丁版本 規範。
  • 讓開發人員安全的升級軟件,而不用擔憂會產生破壞性的改動。
  • 請記得及時給發佈版本打上標籤!

10. 保持按期更新日誌

  • 明確標記並展現出版本之間顯著的變化。
  • 考慮遵循 Keep a CHANGELOG 的格式進行編寫。

11. 使用持續集成

  • 使用服務來自動檢查編碼是否標準而且可否經過運行測試。
  • 在多個不一樣的 PHP 版本都進行運行測試會是個不錯的辦法。
  • 確保提交或者拉取的時候均可以自動運行。
  • 參考:Travis-CIScrutinizerCircle-CI

12. 編寫大量的使用文檔

  • 一份優秀的文檔對於擴展包來講相當重要。
  • 至少要確保庫中有詳細的 README (自述) 文件。
  • 能夠嘗試在 GitHub Pages 中託管文檔。
  • 可用參考: Read the Docs

13. 包含一份受權(License)

  • 包含一份受權協議,可以頗有效地保護你的工做成果,而且很容易作到。
  • 參考 choosealicense.com。 大部分PHP 開源項目使用 MIT 協議
  • 至少要在代碼庫中包含 LICENSE 文件。
  • 還能夠考慮在 Docblocks 中加入你的受權協議。

14. 歡迎你們的貢獻

  • 想要你們輔助改進項目,那必定要多多請求你們的貢獻!
  • 有一份 CONTRIBUTING 文件,列出貢獻者的名單。
  • 利用這份文件解釋項目環境要求,例如測試環境。

更多現代化 PHP 知識,請前往 Laravel / PHP 知識社區html

相關文章
相關標籤/搜索