php中各類組件庫中,最為主要的為兩個?Packagist?PEAR
其中,Packagist和Composer健米合作,利用Composer可以安裝packagist里面的組件,并且完成自動加載。?
利用composer將組件下載到本地之后,會生成composer.json和composer.lock兩個文件,composer.lock文件會列出項目所有的php組件,以及組件的具體版本號,這樣鎖定了版本,讓項目只能使用具體版本的PHP組件。這樣的好處,composer會下載這個文件中列出的具體版本,而不管Packagist中可用的最新版本是多少,你應(yīng)該把composer.lock文件納入版本控制,這樣讓團隊成員使用的PHP版本和你一樣,如果本地開發(fā)和服務(wù)器使用php組件版本相同,可以盡量減少由于組件版本不同導(dǎo)致的bug。
composer的自動加載,其實就是名為autoload.php的文件,保存在vendor目錄中,Composer下載各個PHP組件時,會檢查每個組件的composer.json文件,確定如何加載該組件,得到這個信息后,Composer會在本地為該組件創(chuàng)建一個和服PSR標準的自動加載。這樣我們就可以實例化項目中的任何PHP組件。這些組件需要自動加載。