摘要:以下清單的內(nèi)容將有助于完善你的擴(kuò)展,并且在社區(qū)中得到更多的重視。編寫單元測試覆蓋大部分的代碼。使用,一個常用的單元測試框架。使用持續(xù)集成使用服務(wù)來自動檢查編碼是否標(biāo)準(zhǔn)并且能否通過運(yùn)行測試。
想要做出一個成功的 PHP 擴(kuò)展包,不僅僅是簡單的將代碼放進(jìn)文件夾中就可以了,除此之外,還有非常多的因素來決定你的擴(kuò)展是否優(yōu)秀。以下清單的內(nèi)容將有助于完善你的擴(kuò)展,并且在 PHP 社區(qū)中得到更多的重視。1. 為你的擴(kuò)展選擇一個正確合適的名字
確保你的命名沒有被其他項目使用。
擴(kuò)展的名字需要和你的 PHP 命名空間保持一致。
不要在你的命名空間中使用自己的姓名或者其他帶有個人色彩的東西。
2. 將你的擴(kuò)展開源GitHub?可以免費(fèi)管理這一類公共的項目。
GitHub?非常有助于你來管理這個開源項目,并且方便他人獲取你的擴(kuò)展。
如果你不想使用,可以嘗試替代品:?Bitbucket.
3. 對自動加載友好一些使用 PSR-4?兼容的自動加載器命名空間。
請將代碼放在?src?文件夾里。
4. 通過 Composer 發(fā)布確保可以通過 Composer 來找到你的類庫, Composer 是PHP的一個依賴管理工具
發(fā)布在?Packagist上,Packagist 是一個主要的 Composer 包倉庫。
5. 不局限于框架不要局限于項目只能使用在一個框架上。
通過服務(wù)提供器來給框架提供特殊支持。
6. 遵循一種編碼風(fēng)格強(qiáng)烈建議你堅持使用?PSR-2?編碼風(fēng)格。
使用代碼自動格式化工具,比如?PHP Coding Standards Fixer 。
使用代碼風(fēng)格檢測工具,比如?PHP Code Sniffer 。
7. 編寫單元測試覆蓋大部分的代碼。
使用 PHPUnit ,一個常用的 PHP 單元測試框架。
其他可選:?phpspec ,?Behat , atoum ,?Codeception。
8. 為代碼寫注釋將注釋當(dāng)作內(nèi)置文檔來看待。
代碼注釋也可以改善 IDE 的代碼自動完成功能, 比如?PhpStorm 。
可以自動轉(zhuǎn)換成 API 文檔, 查看?phpDocumentor 。
9. 使用語義化版本管理使用?語義化版本號?來管理版本號。
遵循 主版本.次版本.補(bǔ)丁版本 規(guī)范。
讓開發(fā)人員安全的升級軟件,而不用擔(dān)心會產(chǎn)生破壞性的改動。
請記得及時給發(fā)布版本打上標(biāo)簽!
10. 保持定期更新日志明確標(biāo)記并展示出版本之間顯著的變化。
考慮遵循?Keep a CHANGELOG?的格式進(jìn)行編寫。
11. 使用持續(xù)集成使用服務(wù)來自動檢查編碼是否標(biāo)準(zhǔn)并且能否通過運(yùn)行測試。
在多個不同的 PHP 版本都進(jìn)行運(yùn)行測試會是個不錯的辦法。
確保提交或者拉取的時候都可以自動運(yùn)行。
參考:Travis-CI,Scrutinizer,?Circle-CI。
12. 編寫大量的使用文檔一份優(yōu)秀的文檔對于擴(kuò)展包來說至關(guān)重要。
至少要確保庫中有詳細(xì)的 README (自述) 文件。
可以嘗試在?GitHub Pages 中托管文檔。
可用參考:?Read the Docs。
13. 包含一份授權(quán)(License)包含一份授權(quán)協(xié)議,能夠很有效地保護(hù)你的工作成果,并且很容易做到。
參考?choosealicense.com。 大部分PHP 開源項目使用?MIT 協(xié)議。
至少要在代碼庫中包含 LICENSE 文件。
還可以考慮在?Docblocks 中加入你的授權(quán)協(xié)議。
14. 歡迎大家的貢獻(xiàn)想要大家輔助改進(jìn)項目,那一定要多多請求大家的貢獻(xiàn)!
有一份 CONTRIBUTING 文件,列出貢獻(xiàn)者的名單。
利用這份文件解釋項目環(huán)境要求,例如測試環(huán)境。
更多現(xiàn)代化 PHP 知識,請前往 Laravel / PHP 知識社區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28664.html
showImg(https://segmentfault.com/img/bV6aHV?w=1280&h=800); 社區(qū)優(yōu)秀文章 Laravel 5.5+passport 放棄 dingo 開發(fā) API 實戰(zhàn),讓 API 開發(fā)更省心 - 自造車輪。 API 文檔神器 Swagger 介紹及在 PHP 項目中使用 - API 文檔撰寫方案 推薦 Laravel API 項目必須使用的 8 個...
摘要:原文地址正如標(biāo)題所言,顫顫抖抖開篇。于是只能是你自己,把單子上的個快遞逐次和收到的對比一遍,然后對比完畢后再把這個單子給了阿梅,然后阿梅繼續(xù)等。剃光頭前的阿梅,就是,不敢正眼看老板娘一眼。剃光頭后的阿梅,就是,可徒手接魔鬼隊的死亡之球。 [原文地址:https://blog.ti-node.com/blog...] 正如標(biāo)題所言,顫顫抖抖開篇epoll。顫顫抖抖的原因大概也就是以前幾乎...
摘要:年,將作為一種包含全新現(xiàn)代方法的框架介紹給大家。本文我們將討論為什么會成為最成功的框架。身份驗證安全是至關(guān)重要的。單元測試單元測試的開發(fā)是一個耗費(fèi)大量時間的任務(wù),但是它卻是保證我們的應(yīng)用程序保持正常工作的關(guān)鍵。中可使用執(zhí)行單元測試。 2011年,Taylor Otwell將Laravel作為一種包含全新現(xiàn)代方法的框架介紹給大家。Laravel最初的設(shè)計是為了面向MVC架構(gòu)的,它可以滿足...
摘要:大刀闊斧的改造在學(xué)習(xí)了兩遍之后,基于教程開發(fā)的校園二手書交易平臺熊能本周閱讀清單紙牌屋弗蘭克知道的太晚了實現(xiàn)微信紅包拆分算法聊聊最近求職發(fā)生的故事無銘更多現(xiàn)代化知識,請前往知識社區(qū) showImg(https://segmentfault.com/img/bV8ctF?w=1650&h=1100); 最新資訊 Laravel 5.6 中文文檔翻譯完成,譯者 60 人,耗時 10 天...
閱讀 954·2019-08-30 15:55
閱讀 550·2019-08-26 13:56
閱讀 2079·2019-08-26 12:23
閱讀 3295·2019-08-26 10:29
閱讀 600·2019-08-26 10:17
閱讀 2867·2019-08-23 16:53
閱讀 696·2019-08-23 15:55
閱讀 2813·2019-08-23 14:25