每個php程序猿都知道composer,是php的軟體依賴工具,類似於Python的pip,nodejs的npm
任何一門語言,隨著生態的不斷完善,都會有各種功能完善的包和類庫,它們之間經常相互依賴,如何解決依賴就是一個頭疼的問題。
像Linux不同的發行版,都有各自的包管理工具,像centos的yum ,Ubuntu的apt。
早期的php是通過pear和pecl進行擴展安裝的,pear是php開發的,而pecl是c寫的,一般用於php難以實現的功能。
雖然pear早了很多年,由於composer易用和部署方便,大有取代pear之勢。
這個工具也有它的缺點:
1. 不好安裝,特別是在windows下,我的安裝體驗,兩種方法:
方法一. php -r "readfile('https://getcomposer.org/installer');" | php
結果出錯
PHP Parse error: syntax error, unexpected ''head' (T_ENCAPSED_AND_WHITESPACE),
expecting ']' in Standard input code on line 1529
Parse error: syntax error, unexpected ''head' (T_ENCAPSED_AND_WHITESPACE), expec
ting ']' in Standard input code on line 1529
方法二 Composer-Setup.exe
結果又錯誤
Failed to decode zlib stream
最終還是直接下載的composer.phar文件,
建一個bat的批處理文
@ECHO OFF
php "%~dp0composer.phar" %*件
雙擊運行
cli下執行composer -v 能出現composer圖形就算成功了。
在Linux環境下,安裝是很順利的,用命令行很容易就安裝成功了。
2. 網速慢,這應該是最大的硬傷,雖然可以通過設置鏡像讓安裝快一點,但升級的時候經常出現各種問題。
所以,對於簡單的應用,我不太喜歡這個工具,還是
在composer出現之前,php開發的各種程序,都是通過zip包直接下載,然後解壓就可以運行了,包裡有程序所有文件,不需要額外的工作,自從composer出現以後,越來越多的程序開始採用,無形中增加了php的學習成本,php本來就是簡單易學著稱,現在讓很多初學者倒在了安裝的路上。
php本來就是解釋性腳本語言,不管前期怎麼折騰,最後還是一堆php文件來運行,所以不管用什麼工具安裝其實和zip所有文件是一樣的,到底哪個更方便呢!
總體來說,composer還是增加了php引入第三方類庫的便利性,弊大於利吧。