PHP 擴展開發檢測清單
想要做出一個成功的 PHP 擴展包,不僅僅是簡單的將代碼放進文件夾中就可以了,除此之外,還有非常多的因素來決定你的擴展是否優秀。以下清單的內容將有助於完善你的擴展,並且在 PHP 社區中得到更多的重視。
1. 為你的擴展選擇一個正確合適的名字
確保你的命名沒有被其他項目使用。
擴展的名字需要和你的 PHP 命名空間保持一致。
不要在你的命名空間中使用自己的姓名或者其他帶有個人色彩的東西。
2. 將你的擴展開源
GitHub 可以免費管理這一類公共的項目。
GitHub 非常有助於你來管理這個開源項目,並且方便他人獲取你的擴展。
如果你不想使用,可以嘗試替代品: Bitbucket.
3. 對自動載入友好一些
使用 PSR-4 兼容的自動載入器命名空間。
請將代碼放在 src 文件夾里。
4. 通過 Composer 發布
確保可以通過 Composer 來找到你的類庫, Composer 是PHP的一個依賴管理工具
發布在 Packagist上,Packagist 是一個主要的 Composer 包倉庫。
5. 不局限於框架
不要局限於項目只能使用在一個框架上。
通過服務提供器來給框架提供特殊支持。
6. 遵循一種編碼風格
強烈建議你堅持使用 PSR-2 編碼風格。
使用代碼自動格式化工具,比如 PHP Coding Standards Fixer 。
使用代碼風格檢測工具,比如 PHP Code Sniffer 。
7. 編寫單元測試
覆蓋大部分的代碼。
使用 PHPUnit ,一個常用的 PHP 單元測試框架。
其他可選: phpspec , Behat , atoum , Codeception。
8. 為代碼寫注釋
將注釋當作內置文檔來看待。
代碼注釋也可以改善 IDE 的代碼自動完成功能, 比如 PhpStorm 。
可以自動轉換成 API 文檔, 查看 phpDocumentor 。
9. 使用語義化版本管理
使用 語義化版本號 來管理版本號。
遵循 主版本.次版本.補丁版本 規範。
讓開發人員安全的升級軟體,而不用擔心會產生破壞性的改動。
請記得及時給發布版本打上標籤!
10. 保持定期更新日誌
明確標記並展示出版本之間顯著的變化。
考慮遵循 Keep a CHANGELOG 的格式進行編寫。
11. 使用持續集成
使用服務來自動檢查編碼是否標準並且能否通過運行測試。
在多個不同的 PHP 版本都進行運行測試會是個不錯的辦法。
確保提交或者拉取的時候都可以自動運行。
參考:Travis-CI,Scrutinizer, Circle-CI。
12. 編寫大量的使用文檔
一份優秀的文檔對於擴展包來說至關重要。
至少要確保庫中有詳細的 README (自述) 文件。
可以嘗試在 GitHub Pages 中託管文檔。
可用參考: Read the Docs。
13. 包含一份授權(License)
包含一份授權協議,能夠很有效地保護你的工作成果,並且很容易做到。
參考 choosealicense.com。 大部分PHP 開源項目使用 MIT 協議。
至少要在代碼庫中包含 LICENSE 文件。
還可以考慮在 Docblocks 中加入你的授權協議。
14. 歡迎大家的貢獻
想要大家輔助改進項目,那一定要多多請求大家的貢獻!
有一份 CONTRIBUTING 文件,列出貢獻者的名單。
利用這份文件解釋項目環境要求,例如測試環境。


TAG:PHP技術大全 |