成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一個更加包容和寬泛的Composer

張春雷 / 2346人閱讀

摘要:一個聰明的指揮家。是個很貼心的家伙。和的目的差不多。上面原因不是全部,而且謹(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 就這樣來了

安裝Composer

Composer的運行是有要求的,你的機(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

相關(guān)文章

  • 聽技術(shù)播客:一邊學(xué)Python編程一邊學(xué)英語

    摘要:但這并不代表播客對于學(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é)目能...

    xbynet 評論0 收藏0
  • Pimple - 一個簡單 PHP 依賴注入容器

    摘要:服務(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 ...

    wemall 評論0 收藏0
  • php無限分類樹擴(kuò)展組件

    摘要:系統(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 ...

    VioletJack 評論0 收藏0
  • TOP100分享實錄 | Microsoft Annie Wang:Building an Incl

    摘要:本文內(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...

    madthumb 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<