摘要:一個聰明的指揮家。是個很貼心的家伙。和的目的差不多。上面原因不是全部,而且謹(jǐn)慎守規(guī)矩渠道限制也未必是壞事,但是它的確影響了的發(fā)展,而更加具有冒險精神更加包容和靈活。來了年,就是發(fā)布年后的一天,及提出工具并發(fā)布第一個版本。如果是和會簡單的多。
明日北哥 sf社區(qū)直播 composer課程,感興趣的記得來看哦 https://segmentfault.com/l/15...一個聰明的指揮家。
邏輯是不復(fù)雜的,這貨就是幫我們管理擴(kuò)展及其依賴關(guān)系。
比如我在開發(fā)一個php網(wǎng)站,突然需要二維碼生成功能,自己寫太麻煩,這個時候我可以去composer的擴(kuò)展列表里看一看,如果有直接下載下來用就可以了,當(dāng)然可能這個擴(kuò)展還需要另外一個擴(kuò)展或庫。
而我們不用擔(dān)心這個,composer能幫我們下載二維碼生成擴(kuò)展及它所需要的各種庫直至正常運行。
這就是管理擴(kuò)展及其依賴關(guān)系。Composer是個很貼心的家伙。
老大哥的接班人在Composer誕生約10年前,就是2000年的PHP開發(fā)者會議上有個叫Stig S. Bakken的人提出了一個想法,其目的是為PHP社區(qū)提供可以重復(fù)使用的庫,并叫它為Pear。我想很多人聽過或用過這貨。
Composer和Pear的目的差不多。
一個疑問就是Pear比Composer誕生早了10年,但是為何它英雄敗北了那?
總結(jié)幾點不同吧
Pear必須全局安裝,而Composer可以全局和局部安裝,Composer具有更好的安裝渠道。
Pear所有提交的代碼必須經(jīng)過Pear-review,這也注定了Pear上擴(kuò)展包的版本更替會慢的很,而Composer沒有這個限制,你能跟上開發(fā)者的版本更替。
結(jié)構(gòu)限制,Pear相對嚴(yán)格,而Composer靈活的多,你可以在項目的任何時期引入composer擴(kuò)展包,任何一個文件夾(默認(rèn)為vendor)。
PHP高級屬性的不斷出現(xiàn)也是推動Composer更快前進(jìn)的一個原因。
上面原因不是全部,而且謹(jǐn)慎、守規(guī)矩、渠道限制也未必是壞事,但是它的確影響了Pear的發(fā)展,而Composer更加具有冒險精神、更加包容和靈活。
對于e文好的可以看下這篇文章,The rise of Composer and the fall of PEAR,讓Pear安靜的死去吧。
Composer來了2012年,就是Pear發(fā)布12年后的一天,Nils Adermann及Jordi Boggiano提出Composer工具并發(fā)布第一個版本。
這一天是2012年3月1日,當(dāng)然在中國這個日期也很重要 - 【小學(xué)生開學(xué)】。
Composer的使命就是幫你為項目自動安裝所依賴的開發(fā)包,很多理念都借鑒自 npm 和 Bundler, 包含了一個依賴解析器,用來處理開發(fā)包之間復(fù)雜的依賴關(guān)系;另外,它還包含了下載器、安裝器等有趣的東西。
這個就是Composer創(chuàng)始人之一 Nils Adermann的推特,竟然美國前總統(tǒng)奧巴馬也關(guān)注了它,趕緊看看你的微博啥的。
Composer就這樣一路前行,有幾個網(wǎng)站你要知道
官網(wǎng) https://getcomposer.org
擴(kuò)展列表站 https://packagist.org/
Composer 就這樣來了
安裝ComposerComposer的運行是有要求的,你的機(jī)器上必須有PHP環(huán)境并且版本不能低于PHP5.3.2,考慮到多數(shù)伙伴都是Win上開發(fā),我們就以這個為例。
安裝程序安裝這個很方便,不過我沒太用過,Composer提供了一個安裝程序( https://getcomposer.org/Compo... ),好處是它將安裝最新版本的 Composer ,并設(shè)置好系統(tǒng)的環(huán)境變量,因此你可以在任何目錄下直接使用 composer 命令。
手動安裝按照官方文檔來是最靠譜的
C:Usersusername>cd C:in C:in>php -r "readfile("https://getcomposer.org/installer");" | php
我們來說明下官方給的代碼,這是一個PHP命令行模式。
-r 表示可以在命令行內(nèi)運行單行 PHP 代碼,不需要PHP的開始和結(jié)束符
readfile好理解,該函數(shù)讀入一個文件并寫入到輸出緩沖。
| php 用php執(zhí)行剛剛readfile讀到緩沖區(qū)的文件。
就是說你可以先在瀏覽器 https://getcomposer.org/insta... 下載下來installer,然后執(zhí)行下面代碼,結(jié)果是一樣的
php installer
讓我們開始下載
要注意,上面命令需要你的php打開php_openssl支持。
上面是一種方法,還有你可以通過curl獲取遠(yuǎn)程的文件,如下代碼
curl -sS https://getcomposer.org/installer | php
和上面的思路一樣,下載installer后用php對其執(zhí)行進(jìn)行繼續(xù)的工作。
現(xiàn)在通過上面的行為,我將composer.phar下載到我的項目中(局部)。
composer.phar使用 composer.phar 我們就可以進(jìn)行composer包的安裝和管理了,composer.phar其實是一個pear包,什么意思?它是一個php的包,看下結(jié)構(gòu)。
我們可以通過它做事情了,比如 -V獲得composer當(dāng)前版本。
php composer.phar -V
不止這些命令,我們看看(輸入小v,-v)
php composer.phar -v
你會看到很多很多命令,太多我就不截圖了,后面我們會都說明到,比如
about
archive
config
global
home
install
update
require
search
self-update
show
.......
這些命令讓我們和composer服務(wù)器建立了聯(lián)系。
全局安裝很高興現(xiàn)在我們可以使用它了,但是似乎每次輸入 php composer.phar 老麻煩,接下來我們簡化下工作。
首先找到你的php安裝目錄(就是php.exe所在的目錄,我們假設(shè)為D:PHP)
把剛下載的composer.phar弄到上面目錄D:PHP里
在D:PHP新建一個名為composer.bat的文件,內(nèi)容為 @php "%~dp0composer.phar" %*
添加php環(huán)境變量。右鍵我的電腦-屬性-高級系統(tǒng)設(shè)置-環(huán)境變量。找到“系統(tǒng)變量”中名為Path,雙擊編輯,在最后加入分號和php目錄位置,如;D:PHP
最后一條是讓命令行直接寫php可以生效,這樣上面的composer.bat才可以。如果是linux和mac會簡單的多。
總結(jié)到這里composer就到你的機(jī)器上了,正常來說我們可以講那些高大上的參數(shù)了,不過在安裝過程中可能遇到很多問題,這些問題可能和網(wǎng)絡(luò)相關(guān),可能和服務(wù)器相關(guān),下一篇我們先匯總下,集中填坑。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25632.html
摘要:但這并不代表播客對于學(xué)習(xí)技術(shù)沒有好處。這個播客最新一期是月日更新的,是第期。是這三個技術(shù)播客中開播最晚的,去年月份才發(fā)布第一期。它被評為上最好的播客應(yīng)用。 學(xué)技術(shù)的朋友一般都會關(guān)注不少技術(shù)博客(blog),但是關(guān)注技術(shù)播客(podcast)的人估計不會太多。這里一方面也是由于相關(guān)的播客數(shù)量,尤其是中文播客數(shù)量較少導(dǎo)致的。但這并不代表播客對于學(xué)習(xí)技術(shù)沒有好處。 編程派認(rèn)為,好的播客節(jié)目能...
摘要:服務(wù)通過匿名函數(shù)定義,返回一個對象的實例定義一些服務(wù)請注意,匿名函數(shù)可以訪問當(dāng)前容器實例,從而允許引用其他服務(wù)或參數(shù)。如果要為所有調(diào)用返回不同的實例,請使用方法包裝你的匿名函數(shù)。 鏈接 官網(wǎng) WebSite GitHub - Pimple 這是 Pimple 3.x 的文檔。如果你正在使用 Pimple 1.x ,請查看 Pimple 1.x 文檔。閱讀 Pimple 1.x ...
摘要:系統(tǒng)樹圖地址安裝配置首先往應(yīng)用中注冊,打開文件,在中添加一項然后發(fā)布拓展包的配置文件,使用如下命令此時目錄下會生成配置文件數(shù)據(jù)導(dǎo)入兩表三個自定義函數(shù)結(jié)構(gòu)以父節(jié)點為基準(zhǔn)的鏈?zhǔn)讲樵冊鰟h容易查詢不便結(jié)構(gòu)以左右值包容形式增刪不便查詢?nèi)菀讏D片描述方法 PHP系統(tǒng)樹圖 github地址 dendrogram Laravel PHP ...
摘要:本文內(nèi)容節(jié)選自由主辦的第七屆,分享的實錄。據(jù)美國紐約時報報道,人工智能的測試會根據(jù)膚色種族,出現(xiàn)不同的錯誤率。微軟在美國工時比較長,而在歐洲工作時間有嚴(yán)格的要求,我們需要花費時間磨合并找到共同的時間。 showImg(https://segmentfault.com/img/bVbm2f7?w=1080&h=720); 本文內(nèi)容節(jié)選自由msup主辦的第七屆TOP100summit,Mi...
閱讀 1663·2021-09-23 11:31
閱讀 955·2021-09-23 11:22
閱讀 1390·2021-09-22 15:41
閱讀 4115·2021-09-03 10:28
閱讀 2943·2019-08-30 15:55
閱讀 3571·2019-08-30 15:55
閱讀 2006·2019-08-30 15:44
閱讀 2743·2019-08-30 13:50