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