想了解更多我的文章,請關(guān)注我的博客http://liuxiaochun.cn
包管理工具
軟件開發(fā)過程中,會用到第三方庫,但是這些第三方庫或者框架往往又依賴其他第三方庫或者框架,如果手工管理依賴關(guān)系會非常復(fù)雜,因為不僅要下載而且還要處理包之間的兼容關(guān)系,并且如果要進(jìn)行更新版本那更是痛苦。
其主要功能就是安裝及安裝依賴,更新,卸載等操作。
主流包管理工具
| 語言 | 包管理工具 | 配置文件 |
|---|---|---|
| Node.js | NPM | package.json |
| 前端JS | Bower | bower.json |
| Java | Maven | pom.xml |
| Python | Pip | pip.conf(ini) |
| Ruby | Gem | .gemspec |
| Php | Composer | composer.json |
PHP包管理工具
PHP包管理工具有PEAR,PECL,Composer。
- PEAR
Php Extension Application Repository php 擴展和應(yīng)用倉庫,為 php 的工具類庫。 - PECL
PHP Extension Community Library php 的 C 擴展倉庫,即 php 的 so 格式的擴展 - Composer
PHP依賴管理工具
PEAR VS PECL
PEAR是用PHP寫的庫,PECL是用C寫的PHP擴展庫。
#這是一個安裝 pear 的 php 發(fā)行包文件
wget http://pear.php.net/go-pear.phar
#執(zhí)行安裝pear和pecl
php go-pear.phar
#pear安裝DB
pear install DB
#pecl安裝Redis,生成redis.so,加入到php.ini即可
pecl install redis
PEAR VS Composer
兩者都可以用來管理PHP軟件包,安裝、更新以及卸載。
PEAR對于包的維護(hù)者來說,比較麻煩。所以很多代碼已經(jīng)過期了;此外相比Composer,PEAR的安裝軟件包比較少;使用Composer,可以基于每個項目或者全局安裝軟件包,而PEAR只能全局安裝,如果需要不同版本的話可能造成沖突;Composer通過配置可以安裝PEAR擴展包.
Composer
安裝
Composer要求PHP環(huán)境必須是5.3.2+才能運行。
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
使用
在項目目錄下創(chuàng)建一個 composer.json 文件,指明依賴,比如,你的項目依賴 monolog:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
- 安裝
composer install - 自動加載
Composer 提供了自動加載的特性,require 'vendor/autoload.php',需要在代碼初始化時增加這行代碼。