一個聰明的指揮家。php
邏輯是不復雜的,這貨就是幫咱們管理擴展及其依賴關係。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
對於e文好的能夠看下這篇文章,The rise of Composer and the fall of PEAR,讓Pear安靜的死去吧。
2012年,就是Pear發佈12年後的一天,Nils Adermann及Jordi Boggiano提出Composer工具併發布第一個版本。
這一天是2012年3月1日,固然在中國這個日期也很重要 - 【小學生開學】。
Composer的使命就是幫你爲項目自動安裝所依賴的開發包,不少理念都借鑑自 npm 和 Bundler, 包含了一個依賴解析器,用來處理開發包之間複雜的依賴關係;另外,它還包含了下載器、安裝器等有趣的東西。
這個就是Composer創始人之一 Nils Adermann的推特,居然美國前總統奧巴馬也關注了它,趕忙看看你的微博啥的。
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命令行模式。
就是說你能夠先在瀏覽器 getcomposer.org/installer 下載下來installer,而後執行下面代碼,結果是同樣的
php installer複製代碼
讓咱們開始下載
要注意,上面命令須要你的php打開php_openssl支持。
上面是一種方法,還有你能夠經過curl獲取遠程的文件,以下代碼
curl -sS https://getcomposer.org/installer | php複製代碼
和上面的思路同樣,下載installer後用php對其執行進行繼續的工做。
如今經過上面的行爲,我將composer.phar下載到個人項目中(局部)。
使用 composer.phar 咱們就能夠進行composer包的安裝和管理了,composer.phar實際上是一個pear包,什麼意思?它是一個php的包,看下結構。
咱們能夠經過它作事情了,好比 -V得到composer當前版本。
php composer.phar -V複製代碼
不止這些命令,咱們看看(輸入小v,-v)
php composer.phar -v複製代碼
你會看到不少不少命令,太多我就不截圖了,後面咱們會都說明到,好比
這些命令讓咱們和composer服務器創建了聯繫。
很高興如今咱們可使用它了,可是彷佛每次輸入 php composer.phar 老麻煩,接下來咱們簡化下工做。
最後一條是讓命令行直接寫php能夠生效,這樣上面的composer.bat才能夠。若是是linux和mac會簡單的多。
到這裏composer就到你的機器上了,正常來講咱們能夠講那些高大上的參數了,不過在安裝過程當中可能遇到不少問題,這些問題可能和網絡相關,可能和服務器相關,下一篇咱們先彙總下,集中填坑。