PHP依賴管理篇:Composer和PEAR
如今有大量的PHP函數庫、框架和組件可供選擇,一個項目中可能會使用其中的若干——這就是項目的依賴。到目前為止,PHP還沒有有效的 項目依賴管理方案。即使你手工的管理它們,你還不得不處理它們的自動加載問題。
目前主要有兩個PHP包管理系統:Composer和PEAR,哪個適合你呢?答案是兩個都需要。
管理單個項目的依賴時使用Composer管理整個系統的PHP依賴時使用PEAR通常情況下,Composer包只在你項目中明確指定時才可用,而PEAR包在所有的PHP項目中可用。盡管PEAR聽起來似乎更簡單,但是根據每個 項目制定方案可能更合適。
Composer and PackagistComposer是一個出色的PHP依賴管理器,把項目的依賴列在composer.json文件中,然后通過一些簡單的命令,Composer就會 自動的幫你下載這些依賴,并配置好自動加載路徑。
現在已經有很多PHP庫支持Composer,可以在項目中使用它們,具體列表可以點擊查看,這是官方支持的Composer兼容的PHP庫。
如何安裝ComposerComposer可以安裝在本地(在當前工作目錄,不推薦這種方式),也可以安裝在系統中(如/usr/local/bin)。假設你要在本地安裝,在 項目的根目錄執行:
curl -s https://getcomposer.org/installer | php
它會下載composer.phar(PHP二進制文檔),然后你就可以用php運行它來完成項目依賴的管理。?請注意:如果 你通過管道直接把下載的代碼傳給PHP解釋器,請先在線閱讀代碼以確保該代碼是安全的。
如何手動安裝Composer手動安裝composer有點麻煩,不過很多開發者可能更喜歡這種安裝方式。使用交互式安裝程序,它會檢查你安裝的PHP:
PHP版本滿足要求.phar文件可以正確執行 - 相關目錄的權限設置正確 - 沒有加載某些不兼容的擴展相應的php.ini設置正確而手動安裝則需要你自己做這些事情,你必須自己權衡利弊,以決定是否手動安裝。下面是手動獲取Composer的方法:
curl -s https://getcomposer.org/composer.phar -o $HOME/local/bin/composerchmod +x $HOME/local/bin/composer
目錄$HOME/local/bin(或你自己選擇其它目錄)應該在你的$PATH環境變量中,從而可以直接運行composer命令。
這樣文檔中描述的運行Composer的命令php composer.phar install,就可以用如下命令替代:
composer install如何定義和安裝依賴
首先,在composer.phar所在目錄創建文件composer.json,下面是一個依賴Twig例子:
{ 'require': {'twig/twig': '1.8.*' }}
第二步:在項目根目錄運行:
php composer.phar install
這會在vendors/下載和安裝項目依賴。最后在應用的PHP入口文件添加下面代碼,告訴PHP使用Composer自動加載器加載項目的依賴庫:
<?phprequire ’vendor/autoload.php’;
現在你就可以使用項目依賴的庫了,它們會在需要的時候自動加載。
學習ComposerPEAR另外一個常用的包管理器就是很多PHP開發者喜歡的PEAR,它的運行方式和Composer有些類似,但是也有一些區別.
PEAR requires each package to have a specific structure, which means that the author of the package must prepare it for usage with PEAR. Using a project which was not prepared to work with PEAR is not possible.
PEAR installs packages globally, which means after installing them once they are available to all projects on that server. This can be good if many projects rely on the same package with the same version but might lead to problems if version conflicts between two projects arise.
How to install PEARYou can install PEAR by downloading the phar installer and executing it. The PEAR documentation has detailed?install instructions?for every operating system.
If you are using Linux, you can also have a look at your distribution package manager. Debian and Ubuntu for example have a apt?php-pearpackage.
How to install a packageIf the package is listed on the?PEAR packages list, you can install it by specifying the official name:
pear install foo
If the package is hosted on another channel, you need to?discover?the channel first and also specify it when installing. See the?Using channel docsfor more information on this topic.
Learn about PEAR相關文章: