摘要:一個聰明的指揮家。是個很貼心的家伙。和的目的差不多。上面原因不是全部,而且謹慎守規矩渠道限制也未必是壞事,但是它的確影響了的發展,而更加具有冒險精神更加包容和靈活。來了年,就是發布年后的一天,及提出工具并發布第一個版本。如果是和會簡單的多。
明日北哥 sf社區直播 composer課程,感興趣的記得來看哦 https://segmentfault.com/l/15...一個聰明的指揮家。
邏輯是不復雜的,這貨就是幫我們管理擴展及其依賴關系。
比如我在開發一個php網站,突然需要二維碼生成功能,自己寫太麻煩,這個時候我可以去composer的擴展列表里看一看,如果有直接下載下來用就可以了,當然可能這個擴展還需要另外一個擴展或庫。
而我們不用擔心這個,composer能幫我們下載二維碼生成擴展及它所需要的各種庫直至正常運行。
這就是管理擴展及其依賴關系。Composer是個很貼心的家伙。
老大哥的接班人在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更加具有冒險精神、更加包容和靈活。
對于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就這樣一路前行,有幾個網站你要知道
官網 https://getcomposer.org
擴展列表站 https://packagist.org/
Composer 就這樣來了
安裝ComposerComposer的運行是有要求的,你的機器上必須有PHP環境并且版本不能低于PHP5.3.2,考慮到多數伙伴都是Win上開發,我們就以這個為例。
安裝程序安裝這個很方便,不過我沒太用過,Composer提供了一個安裝程序( https://getcomposer.org/Compo... ),好處是它將安裝最新版本的 Composer ,并設置好系統的環境變量,因此你可以在任何目錄下直接使用 composer 命令。
手動安裝按照官方文檔來是最靠譜的
C:Usersusername>cd C:in C:in>php -r "readfile("https://getcomposer.org/installer");" | php
我們來說明下官方給的代碼,這是一個PHP命令行模式。
-r 表示可以在命令行內運行單行 PHP 代碼,不需要PHP的開始和結束符
readfile好理解,該函數讀入一個文件并寫入到輸出緩沖。
| php 用php執行剛剛readfile讀到緩沖區的文件。
就是說你可以先在瀏覽器 https://getcomposer.org/insta... 下載下來installer,然后執行下面代碼,結果是一樣的
php installer
讓我們開始下載
要注意,上面命令需要你的php打開php_openssl支持。
上面是一種方法,還有你可以通過curl獲取遠程的文件,如下代碼
curl -sS https://getcomposer.org/installer | php
和上面的思路一樣,下載installer后用php對其執行進行繼續的工作。
現在通過上面的行為,我將composer.phar下載到我的項目中(局部)。
composer.phar使用 composer.phar 我們就可以進行composer包的安裝和管理了,composer.phar其實是一個pear包,什么意思?它是一個php的包,看下結構。
我們可以通過它做事情了,比如 -V獲得composer當前版本。
php composer.phar -V
不止這些命令,我們看看(輸入小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就到你的機器上了,正常來說我們可以講那些高大上的參數了,不過在安裝過程中可能遇到很多問題,這些問題可能和網絡相關,可能和服務器相關,下一篇我們先匯總下,集中填坑。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25632.html
摘要:但這并不代表播客對于學習技術沒有好處。這個播客最新一期是月日更新的,是第期。是這三個技術播客中開播最晚的,去年月份才發布第一期。它被評為上最好的播客應用。 學技術的朋友一般都會關注不少技術博客(blog),但是關注技術播客(podcast)的人估計不會太多。這里一方面也是由于相關的播客數量,尤其是中文播客數量較少導致的。但這并不代表播客對于學習技術沒有好處。 編程派認為,好的播客節目能...
摘要:服務通過匿名函數定義,返回一個對象的實例定義一些服務請注意,匿名函數可以訪問當前容器實例,從而允許引用其他服務或參數。如果要為所有調用返回不同的實例,請使用方法包裝你的匿名函數。 鏈接 官網 WebSite GitHub - Pimple 這是 Pimple 3.x 的文檔。如果你正在使用 Pimple 1.x ,請查看 Pimple 1.x 文檔。閱讀 Pimple 1.x ...
摘要:系統樹圖地址安裝配置首先往應用中注冊,打開文件,在中添加一項然后發布拓展包的配置文件,使用如下命令此時目錄下會生成配置文件數據導入兩表三個自定義函數結構以父節點為基準的鏈式查詢增刪容易查詢不便結構以左右值包容形式增刪不便查詢容易圖片描述方法 PHP系統樹圖 github地址 dendrogram Laravel PHP ...
摘要:本文內容節選自由主辦的第七屆,分享的實錄。據美國紐約時報報道,人工智能的測試會根據膚色種族,出現不同的錯誤率。微軟在美國工時比較長,而在歐洲工作時間有嚴格的要求,我們需要花費時間磨合并找到共同的時間。 showImg(https://segmentfault.com/img/bVbm2f7?w=1080&h=720); 本文內容節選自由msup主辦的第七屆TOP100summit,Mi...
閱讀 1605·2021-09-23 11:31
閱讀 920·2021-09-23 11:22
閱讀 1337·2021-09-22 15:41
閱讀 4062·2021-09-03 10:28
閱讀 2907·2019-08-30 15:55
閱讀 3536·2019-08-30 15:55
閱讀 1942·2019-08-30 15:44
閱讀 2712·2019-08-30 13:50