新聞中心
這段時(shí)間比較忙,一直沒(méi)時(shí)間寫(xiě)點(diǎn)東西,今天抽空隨便寫(xiě)寫(xiě)。
背景:在新公司發(fā)現(xiàn)一個(gè)現(xiàn)象,很多已經(jīng)工作六七年的老程序員竟然不會(huì)用 git,也不會(huì)在網(wǎng)上搜索,而對(duì)于 使用 composer 開(kāi)發(fā)包也就更不了解了,現(xiàn)在我就做個(gè)入門(mén)總結(jié)。
成都創(chuàng)新互聯(lián)公司成立十多年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
不說(shuō)廢話,直奔主題 —— 魯迅 ^_^
參考文檔:https://laravel-china.org/docs/composer/2018
協(xié)議:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
步驟:
- 創(chuàng)建項(xiàng)目目錄
mkdir composer-test
cd comopser-test - 初始化
composer init
提示進(jìn)行配置 packagist 信息:
輸入項(xiàng)目命名空間 name:其實(shí)就是 packagist 名稱,建議 github 用戶名/項(xiàng)目名稱,leesin/composer-test
項(xiàng)目描述 Description: 項(xiàng)目描述,會(huì)現(xiàn)在是 packagist 項(xiàng)目介紹中
作者信息 Author: Leesin
輸入最低穩(wěn)定版本:stable, RC, beta, alpha, dev
輸入項(xiàng)目類型:library, project, metapackage, composer-plugin
輸入授權(quán)類型:開(kāi)源軟件 一般選擇 MIT
輸入依賴信息:yes->搜索包名 (可以是 php 等)->輸入版本
= >= <= 之類的
是否需要require-dev:同上
進(jìn)行生成:yes, 生成 composr.json - 上傳 github
git init && echo 'hello world' >> README.md
git add . && git commit -m'init'
git remote add origin 倉(cāng)庫(kù)地址
git push origin -u 倉(cāng)庫(kù)地址 - 提交 packagist
將github 上的包提交到 packagist 注冊(cè)
submit->輸入倉(cāng)庫(kù)地址->check->通過(guò)檢測(cè)就提交到 packagist 了
如果提示已經(jīng)存在,可修改包名或者直接提交 - 設(shè)置 composer 包自動(dòng)更新
默認(rèn)情況下,github代碼更新,composer 包是不自動(dòng)更新的
方案: 使用 github 服務(wù)鉤子
setting->Integrations & services ->Add service 搜索 packagist->填寫(xiě)資料:
user: packagist 的用戶名
token:packagist.org 中 Profile show API Token 查看
domain: https://packagist.org/
edit -> test service ,[Okay, the test payload is on its way. ] 就可以自動(dòng)更新了 使用
通過(guò) packagist 拉取github 代碼
composer create-project packagist名 project名 --prefer-dist dev-master [ 指定版本 ]引用其他包 composer require package_name 實(shí)現(xiàn)自動(dòng)加載: include vendor/autoload.php 或者 修改 composer.json, 增加 autoload 配置項(xiàng),files 表示要自動(dòng)加載的文件,psr-4 表示要自動(dòng)加載的 命名空間 classmap 一般用來(lái)對(duì)某些開(kāi)發(fā)類自動(dòng)加載,psr-4則是項(xiàng)目代碼的自動(dòng)加載,psr-0基本由psr-4替代,files模式主要針對(duì)全局helper之類的function載入,配置完成后執(zhí)行composer dump-autoload即可 "autoload":{ "files":[ "src/functions.php", "", ... ], "psr-4":{ "Leesin\\" : "src", // 前邊命名空間,后邊為目錄 } } composer dump / dump-autoload 按照配置文件,重新加載配置
補(bǔ)充:常用包結(jié)構(gòu)
.
├── composer.json
├── README.md
└── src // 源碼目錄
└── Hello.phpmkdir src && touch src/Hello.php
- git tag 發(fā)布穩(wěn)定版本 composer 包
git tag -a v0.1 -m 'version 0.1'
git push origin --tags
在 packagist 中刷新即可看到
網(wǎng)頁(yè)題目:開(kāi)發(fā)composer包,上傳packagist并實(shí)時(shí)更新+發(fā)布穩(wěn)定版
網(wǎng)頁(yè)網(wǎng)址:http://biofuelwatch.net/article/pegshs.html