編寫自己的composer項目
composer的出現給php開發帶來極大的便利, 配合phpunit的測試工具, 也可以更好的規范php開發. 盡管這些標准不是官方提供的, 但現在大部分的php框架幾乎都按照這個規范去開發和管理項目. 這里先介紹一下怎么去編寫自己的composer項目
一. 創建github項目
可以參考我的項目地址 https://github.com/yin32167/cpstpl
config配置文件存放的位置src源代碼tests測試文件位置
.gitignoregit忽略文件LICENSE.md項目許可證README.md項目介紹composer.jsoncomposer配置文件phpunit.xmlphpunit配置文件
1. 關於.gitignore配置
執行
composer install會生成composer.lock文件, 並將相關的依賴下載到vendor文件夾, 所以這兩個文件是需要忽略的
2. 關於LICENSE.md內容
這個看大家項目的具體目的, 對於開源項目來講, 用MIT協議比較常見
3. 關於README.md內容
主要是介紹項目基礎信息及用法, 項目的github頁面會將內容顯示出來, 以markdown格式
二. 配置 composer
- 安裝
composer:mac用戶可以使用homebrew,windows用戶可以直接下載安裝包安裝
https://pkg.phpcomposer.com/#how-to-install-composer
注意確保
composer命令在環境變量中
- 配置中國鏡像: 由於國外鏡像速度太慢, 影響開發效率
- 編輯配置文件
require: 由於composer是php的包管理工具, 所以需要依賴php環境, 這里我們建議使用php7以上版本, 畢竟各方面都有很大的提升require-dev: 一般加載測試相關的包autoload: 指定自動加載的文件夾, 現在一般采用psr-4標准
會生成
composer.lock及vendor文件夾. 如果修改了composer.json, 但之前已經生成了composer.lock, 此時需要執行composer update, 配置才能生效
三. 添加 phpunit
- 安裝
Windows 用戶具體參見 http://www.phpunit.cn/manual/current/zh_cn/installation.html#installation.phar.windows
一定要確保phpunit在環境變量中
- 編輯配置文件
phpunit.xml
bootstrap指定啟動測試時, 先加載vendor/autoload.phptestsuite指定測試文件的目錄filter過濾依賴文件的位置
- 執行測試樣例
四. 上傳到 packagist
- 先注冊, 需要關聯
github
-
創建
composer模塊名稱, 盡量和github一致就好
-
檢測提交
如果你沒按照它的規范, 會提示失敗, 並給出原因, 只需按照修改即可.
附:
如果github中存在多個branch, 則在生成composer模塊的時候會打包對應dev-分支名版本號, 如果不希望出現dev, 也就是看起來是正式版本, 需要在github打tag, 此時會以tag的名稱作為版本號而不會加上dev
