# [php composer 開發自己的包](https://www.cnblogs.com/kinwing/p/11136330.html)
* https://www.cnblogs.com/kinwing/archive/2004/01/13/11136330.html
一,在github和packagist分別注冊自己的賬號,這里就省略了
二,創建github項目:trois
? ? ? 2.1 new repository

2.2?拿到git地址

三,本地獲取github項目:trois
這是我本地隨便創建一個文件夾?D:\\phpStudy\\WWW\\wandehua\\compoer-dev?
3.1 在composer-dev文件內右鍵,?選擇Git Bash Here

3.2?在git窗口里輸入:git clone?https://github.com/wandehua/trois.git? (2.2中拿到的地址)

3.3?這樣我們就得到了我們在github的項目:trois

四,composer?創建我們的包文件
進入我們剛剛得到的github項目文件夾,
地址欄上輸入cmd就可以快速進入cmd窗口了,
4.1 并初始化componser包
?



最后得到了composer.json文件(這是我們最想要的)和.getignore文件
4.2?編輯composer.json文件
```
{
"name": "wandehua/trois",
"description": "trois && deux 23",
"type": "library",
"license": "MIT",
"authors": \[
{
"name": "wandehua",
"email": "271920545@qq.com"
}
\],
"minimum-stability": "dev",
"require": {
"php":">=5.6" //對php環境的要求, 這里說明一下,真實是不能注釋的
},
"autoload":{
"psr-4":{ //psr-4 規范
"Trois\\\\Library":"src/Trois/Library" //命名空間 與 文件目錄映射, 這里說明一下,真實是不能注釋的
}
}
}
```
4.3?新建psr-4中配置的類文件夾,并創建一個Loader.php文件


4.4?測試一下,?最終生成了vendor目錄和composer.lock文件,

?
至此,我們的composer包就算開發完了
五,提交我們的代碼到github項目中
提交之前,編輯.gitignore文件,增加忽略文件(vender和composer.lock文件就不會通過git提交到github上了)

5.1 開始提交
依次輸入:
```
git add . (注:別忘記后面的.,此操作是把Test文件夾下面的文件都添加進來)
git commit -m "提交信息" (注:“提交信息”里面換成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地倉庫push到github上面,此步驟需要你輸入帳號和密碼)
```

六,在github上驗證,??

至此,我們github相關就全部操作完成?
如何使用composer使用的我們的包呢,這里就要使用packagist了
八,提交package



好了,我們項目就放在packagist上面了,這樣大家就可以通過composer安裝我們的包文件了
十:安裝trois包文件
?10.1?創建一個文件夾:compoer-test?并且進入,和4.1一樣我們進入cmd命令行窗口

10.2?執行
composer require wandehua/trois dev-master # 安裝我們的trois包

10.3?驗證:
創建一個index.php文件,并寫入以下代碼并執行一下

輸出了我們在Loader類中index方法的內容
