在現如今的互聯網開發行業中,php語言作為開發人員的主力之一被廣泛使用,而php pear composer作為一種依賴管理工具則更加讓開發人員事半功倍。
php pear是一種較為古老的包管理工具,其可以從php.net的官方庫中下載相關的包進行安裝,比如一些常用的類庫。
pear install package_name
而composer則相比pear可以更快更方便地更新并添加所需的包,因此更加適用于大型項目中的依賴管理。composer使用packagist作為官方庫,這個庫中保存了許多依賴的源代碼及其元數據,有獨立的開發者以及組織于此添加庫。
在使用composer之前需要先安裝composer,建議安裝在全局的環境變量中方便使用。composer是通過生成composer.json的文件并以其為根據下載所需的依賴庫。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '<b>COMPOSER HASH</b>') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
在生成composer.json時需要定義要安裝的依賴庫,例如想要安裝一款pdf生成工具fpdf。我們可以將其聲明在composer.json中,composer將會在保存并執行composer install/setup時將其下載至當前目錄下的vendor文件夾中。
{
"require": {
"phpmailer/phpmailer": "^6.2",
"setasign/fpdf": "^1.8"
}
}
需要注意的是,當有新的依賴需要添加時并不需要直接修改composer.json文件,而是通過執行composer require library_name的方式進行添加,composer將會自動更新并添加依賴。
作為一個開發人員,我們難免會遇到一些需要自定義的類庫,而composer則為我們提供了便捷的途徑。我們可以通過composer init來初始化一個composer庫,其會在當前目錄下生成一個composer.json及composer.lock用于保存當前的庫及其依賴。自定義類庫需要保存在一個特定的路徑中,因此我們需要通過composer.json的autoload方法定義其路徑。
{
"autoload": {
"psr-4": {
"Custom\\": "src/"
}
}
}
在使用自定義庫時我們需要先通過composer install來安裝其依賴,然后就可以在我們的項目中引用其類文件了。
總的來說,php pear composer為php開發人員提供了便捷的依賴管理方式,不僅能夠快捷地添加依賴庫,同時也能夠定制我們自己的類庫。這樣大大地提高了我們的開發效率。