是的,它涉及 "packages" 和 "libraries",但它在每個項目的基礎上進行管理,在你項目的某個文件夾中(好比 vendor)進行安裝。php
默認狀況下它不會在全局安裝不論什麼東西。所以,這不過一個依賴管理。
這樣的想法並不新奇,Composer 受到了 node's npm 和 ruby's bundler 的強烈啓示。而當時 PHP 下並無相似的工具。
Composer 將這樣爲你解決這個問題:
你有一個項目依賴於若干個庫。
當中一些庫依賴於其它庫。
你聲明你所依賴的東西。
Composer 會找出哪一個版本號的包需要安裝。並安裝它們(將它們下載到你的項目中)。html
參考:http://www.lai18.com/content/319715.html
http://docs.phpcomposer.com/00-intro.md
聲明依賴關係
例如說,你正在建立一個項目,你需要一個庫來作日誌記錄。你決定使用 monolog。爲了將它加入到你的項目中,你所需要作的就是建立一個 composer.json 文件。當中描寫敘述了項目的依賴關係。
node
{ "require": { "monolog/monolog": "1.2.*" } }
首先安裝 Composer (相同的,這意味着它將下載到你的項目中):
nginx
curl -sS https://getcomposer.org/installer | php
php -r "readfile('https://getcomposer.org/installer');" | php
這是 Composer 的二進制文件。git
這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以幫助用戶在命令行中運行一些操做。
你可以經過 --install-dir 選項指定 Composer 的安裝文件夾(它可以是一個絕對或相對路徑):
npm
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
在類Unix系統中,你甚至可以在使用時不加 php 前綴。編程
你可以運行這些命令讓 composer 在你的系統中進行全局調用:
json
curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer
現在僅僅需要執行 composer 命令就可以使用 Composer 而不需要輸入 php composer.phar。數組
全局安裝 (on OSX via homebrew)
Composer 是 homebrew-php 項目的一部分。ruby
brew update brew tap josegonzalez/homebrew-php brew tap homebrew/versions brew install php55-intl brew install josegonzalez/php/composer
手動安裝
設置系統的環境變量 PATH 並執行安裝命令下載 composer.phar 文件:
C:\Users\username>cd C:\bin C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php
C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
C:\Users\username>composer -V Composer version 27d8904
php composer.phar install
composer install
使用它。你僅僅需要將如下這行代碼加入到你項目的引導文件裏:
require 'vendor/autoload.php';
3smarty本身定義函數htmlcheckboxes使用方法實例
20PHP異常處理
29PHP自帶Session隱患(session文件獨佔鎖引發堵塞)
32PHP SPL標準庫之數據結構雙鏈表(SplDoublyLinkedList)
33PHP SPL標準庫之數據結構固定長度數組(SplFixedArray)
35PHP SPL標準庫之數據結構隊列(SplQueue)和優先隊列(SplPriorityQueue)
37php以fastCGI的方式執行時文件系統權限問題及解決方法
39百度project師講PHP函數的實現原理及性能分析(二)
40百度project師講PHP函數的實現原理及性能分析(三)