摘要:是什么是一個(gè)依賴管理工具,它允許你在項(xiàng)目中聲明所有依賴的代碼庫,并且通過簡單的命令安裝它們。通常這些依賴庫會安裝在一個(gè)叫的目錄。然后實(shí)際開發(fā)過程中,有些功能并不能在公開的庫找到支持,需要自行開發(fā)。
Composer 是什么
Composer 是一個(gè)依賴管理工具,它允許你在項(xiàng)目中聲明所有依賴的代碼庫,并且通過簡單的命令安裝它們。通常這些依賴庫會安裝在一個(gè)叫"vendor"的目錄。
現(xiàn)在絕大部分PHP開源的項(xiàng)目都提供了Composer的支持,建議大家在項(xiàng)目中使 Composer來解決PHP代碼包管理的問題,不要再使用下載源碼、手工include的原始方法
Composer 有什么用
1.管理包依賴,管理版本
2.實(shí)現(xiàn)自動(dòng)加載
3.支持事件處理
4.等等
Composer 如何使用
安裝
windows
即然用windows,那么建議直接下載這個(gè)可執(zhí)行文件Composer-Setup.exe來安裝,它將為你下載最新的composer版本,并為你配置好環(huán)境變量。
linux等*nix系列
建議你全局安裝它
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer cd /usr/local/bin chmod a+x composer
如果你沒有權(quán)限,可以改用root賬號或者sudo
在項(xiàng)目中使用 Composer
1.首先需要為項(xiàng)目創(chuàng)建一個(gè) composer.json 文件
我們用命令行的方式 ,下面所有步驟都是在項(xiàng)目根目錄操作
composer init
依次為出行如下提示
然后我們就生成了一個(gè)composer.json文件,內(nèi)容如下
{ "name": "test/test", "description": "this is a test", "type": "library", "authors": [ { "name": "xiehuanjin", "email": "[email protected]" } ], "require": {} }
這一步并不是必須的,也可以手動(dòng)在項(xiàng)目根目錄創(chuàng)建一個(gè)名叫composer.json的文件,文件內(nèi)容為一對大括號{}
2.安裝依賴的包,以predis為例
composer rquire --prefer-dist predis/predis
這個(gè)命令自動(dòng)為你下載predis的穩(wěn)定版本
--prefer-dist 盡可能從dist獲取,下載穩(wěn)定版本
--prefer-source 盡可能從source獲取,下載最新代碼
3.自動(dòng)加載
使用 composer 你不需要到處使用require include各種依賴文件,你只需要在項(xiàng)目引導(dǎo)文件中require這個(gè)文件就好了
require "vendor/autoload.php";
4.其他
上面演示的是安裝一個(gè)現(xiàn)成的庫。然后實(shí)際開發(fā)過程中,有些功能并不能在公開的庫找到支持,需要自行開發(fā)。那怎么引入自己的庫呢。
我們假設(shè)自行自行開發(fā)的庫符合psr4規(guī)范(這不是必須,但是建議)
回到composer.json文件,我們只需要在該文件填加autoload配置
{ "name": "test/test", "description": "this is a test", "type": "library", "authors": [ { "name": "xiehuanjin", "email": "[email protected]" } ], "require": {}, "autoload": { "psr-4": { "testclient": "client/", "testservice": "service/" } } }
為這個(gè)庫提供autoload支持
composer dump-autoload
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28465.html
摘要:在上周周記的結(jié)尾,我曾經(jīng)說過本周要介紹的開發(fā)和應(yīng)用??稍谕ㄗx完的文檔之后,我立即取消了原定計(jì)劃,直接介紹。讓其成為開發(fā)首選的理由只有一個(gè)對開發(fā)者友好。將發(fā)布到的暴露成,供外部調(diào)用,完全語言中立。而后者則是為測試而生的。 在上周周記的結(jié)尾,我曾經(jīng)說過本周要介紹Fabric的開發(fā)和應(yīng)用。按照最開始的寫作計(jì)劃,我打算講講兩種開發(fā)模式:直接使用Fabric API和利用Composer框架???..
摘要:然而各自為政的打包方式依賴關(guān)系的處理,導(dǎo)致了很難將兩個(gè)開源項(xiàng)目集成到一起。雖然有這種官方支持的包管理工具,但是依然沒有很好的統(tǒng)一的依賴關(guān)系管理的辦法。項(xiàng)目編譯和打包依賴關(guān)系的解決都可以很輕松的實(shí)現(xiàn)。 簡介 現(xiàn)在軟件規(guī)模越來越大,PHP項(xiàng)目的開發(fā)模式和許多年前已經(jīng)有了很大變化。記得初學(xué)PHP那會兒,boblog是一個(gè)很好的例子,幾乎可以代表PHP項(xiàng)目的開發(fā)模式。當(dāng)時(shí)PHP 5.x以上的版...
摘要:自動(dòng)加載為了實(shí)現(xiàn)類的隨取隨用,類的命名空間定義建議遵從一定的規(guī)則。這種規(guī)則可以是某一項(xiàng)目組約定的。不過為了使得類庫統(tǒng)一,項(xiàng)目指定了一種命名空間的規(guī)范,被一些流行項(xiàng)目采用。用來指定在軟件包級別上區(qū)別。注意默認(rèn)類庫是使用規(guī)范自動(dòng)加載的。 簡介 composer是一個(gè)php中管理依賴的工具。它使你可以在項(xiàng)目中聲明用到的包/庫,之后它會自動(dòng)安裝相關(guān)包。 Composer is not a ...
摘要:接觸過的同學(xué)都知道使用作為項(xiàng)目的包管理工具但是并不是獨(dú)有的是的包管理工具這兩者的關(guān)系就像于于一樣但是發(fā)現(xiàn)真正項(xiàng)目中使用還是比較少的所以這里這里寫一遍文章介紹的使用幫助那些對于還是有點(diǎn)模糊的同學(xué)此文跟沒有任何聯(lián)系安裝的方式就不講了具體安裝方式 接觸過Laravel的同學(xué)都知道,Laravel使用Composer作為項(xiàng)目的包管理工具.但是Composer并不是Laravel獨(dú)有的,Comp...
摘要:建議使用折音號操作符。對于使用作為版本號標(biāo)準(zhǔn)的項(xiàng)目來說,這種版本約束方式很實(shí)用。折音號操作符的行為跟有比較大的關(guān)聯(lián),它允許升級版本到安全的版本。 這篇文章主要介紹一些常用的包管理命令以及包的版本如何進(jìn)行約束。 常用命令 require命令 在《Composer快速入門》中已經(jīng)簡單介紹過使用install命令安裝依賴的方式。除了install命令,我們還可以使用require命令快速的安...
閱讀 3199·2021-11-10 11:35
閱讀 1306·2019-08-30 13:20
閱讀 1126·2019-08-29 16:18
閱讀 2141·2019-08-26 13:54
閱讀 2166·2019-08-26 13:50
閱讀 966·2019-08-26 13:39
閱讀 2483·2019-08-26 12:08
閱讀 1959·2019-08-26 10:37