一個更加包容和寬泛的Composer

一個聰明的指揮家。php

明日北哥 sf社區直播 composer課程,感興趣的記得來看哦 segmentfault.com/l/150000001…

邏輯是不復雜的,這貨就是幫咱們管理擴展及其依賴關係。html

好比我在開發一個php網站,忽然須要二維碼生成功能,本身寫太麻煩,這個時候我能夠去composer的擴展列表裏看一看,若是有直接下載下來用就能夠了,固然可能這個擴展還須要另一個擴展或庫。linux

而咱們不用擔憂這個,composer能幫咱們下載二維碼生成擴展及它所須要的各類庫直至正常運行。npm

這就是管理擴展及其依賴關係。Composer是個很貼心的傢伙。segmentfault

老大哥的接班人

在Composer誕生約10年前,就是2000年的PHP開發者會議上有個叫Stig S. Bakken的人提出了一個想法,其目的是爲PHP社區提供能夠重複使用的庫,並叫它爲Pear。我想不少人聽過或用過這貨。瀏覽器

Composer和Pear的目的差很少。服務器

一個疑問就是Pear比Composer誕生早了10年,可是爲什麼它英雄敗北了那?網絡

總結幾點不一樣吧併發

  • Pear必須全局安裝,而Composer能夠全局和局部安裝,Composer具備更好的安裝渠道。
  • Pear全部提交的代碼必須通過Pear-review,這也註定了Pear上擴展包的版本更替會慢的很,而Composer沒有這個限制,你能跟上開發者的版本更替。
  • 結構限制,Pear相對嚴格,而Composer靈活的多,你能夠在項目的任什麼時候期引入composer擴展包,任何一個文件夾(默認爲vendor)。
  • PHP高級屬性的不斷出現也是推進Composer更快前進的一個緣由。

上面緣由不是所有,並且謹慎、守規矩、渠道限制也未必是壞事,可是它的確影響了Pear的發展,而Composer更加具備冒險精神、更加包容和靈活。composer

對於e文好的能夠看下這篇文章,The rise of Composer and the fall of PEAR,讓Pear安靜的死去吧。

Composer來了

2012年,就是Pear發佈12年後的一天,Nils Adermann及Jordi Boggiano提出Composer工具併發布第一個版本。

這一天是2012年3月1日,固然在中國這個日期也很重要 - 【小學生開學】。

Composer的使命就是幫你爲項目自動安裝所依賴的開發包,不少理念都借鑑自 npm 和 Bundler, 包含了一個依賴解析器,用來處理開發包之間複雜的依賴關係;另外,它還包含了下載器、安裝器等有趣的東西。

什麼狀況
什麼狀況

這個就是Composer創始人之一 Nils Adermann的推特,居然美國前總統奧巴馬也關注了它,趕忙看看你的微博啥的。

Composer就這樣一路前行,有幾個網站你要知道

Composer 就這樣來了

安裝Composer

Composer的運行是有要求的,你的機器上必須有PHP環境而且版本不能低於PHP5.3.2,考慮到多數夥伴都是Win上開發,咱們就以這個爲例。

安裝程序安裝

這個很方便,不過我沒太用過,Composer提供了一個安裝程序( getcomposer.org/Composer-Se… ),好處是它將安裝最新版本的 Composer ,並設置好系統的環境變量,所以你能夠在任何目錄下直接使用 composer 命令。

手動安裝

按照官方文檔來是最靠譜的

C:\Users\username>cd C:\bin
C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php複製代碼

咱們來講明下官方給的代碼,這是一個PHP命令行模式。

  • -r 表示能夠在命令行內運行單行 PHP 代碼,不須要PHP的開始和結束符
  • readfile好理解,該函數讀入一個文件並寫入到輸出緩衝。
  • | php 用php執行剛剛readfile讀到緩衝區的文件。

就是說你能夠先在瀏覽器 getcomposer.org/installer 下載下來installer,而後執行下面代碼,結果是同樣的

php installer複製代碼

讓咱們開始下載

alt
alt

要注意,上面命令須要你的php打開php_openssl支持。

上面是一種方法,還有你能夠經過curl獲取遠程的文件,以下代碼

curl -sS https://getcomposer.org/installer | php複製代碼

和上面的思路同樣,下載installer後用php對其執行進行繼續的工做。

如今經過上面的行爲,我將composer.phar下載到個人項目中(局部)。

composer.phar

使用 composer.phar 咱們就能夠進行composer包的安裝和管理了,composer.phar實際上是一個pear包,什麼意思?它是一個php的包,看下結構。

alt
alt

咱們能夠經過它作事情了,好比 -V得到composer當前版本。

php composer.phar -V複製代碼

alt
alt

不止這些命令,咱們看看(輸入小v,-v)

php composer.phar -v複製代碼

你會看到不少不少命令,太多我就不截圖了,後面咱們會都說明到,好比

  • about
  • archive
  • config
  • global
  • home
  • install
  • update
  • require
  • search
  • self-update
  • show
  • .......

這些命令讓咱們和composer服務器創建了聯繫。

全局安裝

很高興如今咱們可使用它了,可是彷佛每次輸入 php composer.phar 老麻煩,接下來咱們簡化下工做。

  • 首先找到你的php安裝目錄(就是php.exe所在的目錄,咱們假設爲D:\PHP)
  • 把剛下載的composer.phar弄到上面目錄D:\PHP裏
  • 在D:\PHP新建一個名爲composer.bat的文件,內容爲 @php "%~dp0composer.phar" %*
  • 添加php環境變量。右鍵個人電腦-屬性-高級系統設置-環境變量。找到「系統變量」中名爲Path,雙擊編輯,在最後加入分號和php目錄位置,如;D:\PHP

最後一條是讓命令行直接寫php能夠生效,這樣上面的composer.bat才能夠。若是是linux和mac會簡單的多。

總結

到這裏composer就到你的機器上了,正常來講咱們能夠講那些高大上的參數了,不過在安裝過程當中可能遇到不少問題,這些問題可能和網絡相關,可能和服務器相關,下一篇咱們先彙總下,集中填坑。

composer來了
composer來了


簽名檔
簽名檔
相關文章
相關標籤/搜索