php-composer的安裝與使用方法(簡化版)

1.簡介

Composer 是 PHP 的一個依賴管理工具。它容許你申明項目所依賴的代碼庫,它會在你的項目中爲你安裝他們。
《Composer 中文網》php

2.系統要求

運行 Composer 須要 PHP 5.3.2+ 以上版本。
Composer 是多平臺的,它能夠同時在 Windows 、 Linux 以及 OSX 平臺上運行。json

3.安裝(ubuntu)

curl -sS https://getcomposer.org/installer | php mv composer.phar
mv composer.phar /usr/local/bin/composer
注:若是沒有安裝curl,能夠經過如下命令安裝
apt-get update
apt-get install curl

當你的 Composer 安裝完畢以後,你能夠實用下列命令查看是否安裝成功ubuntu

composer -v
注 若是上述方法因爲某些緣由失敗了,你還能夠經過 php 下載安裝器:
php -r "readfile('https://getcomposer.org/installer');" | php

這將檢查一些 PHP 的設置,而後下載 composer.phar 到你的工做目錄中。這是 Composer 的二進制文件。這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式能夠幫助用戶在命令行中執行一些操做。segmentfault

你能夠經過 --install-dir 選項指定 Composer 的安裝目錄(它能夠是一個絕對或相對路徑)windows

4.使用

要開始在你的項目中使用 Composer,你只須要一個 composer.json 文件。該文件包含了項目的依賴和其它的一些元數據。app

首先建立一個 composer.json 文件,寫入相應的包名和版本號,如composer

{    
    "require": {
        "monolog/monolog": "1.13.*"
    }
}

這是後就寫入了一個依賴包,以後安裝依賴包。獲取定義的依賴到你的本地項目,以後在你的項目目錄中(即 composer.json 所在目錄)使用 Composer 運行 install 命令。curl

composer install

固然,若是是在 Windows 系統中,也能夠經過調用 composer.phar 包來進行依賴包的安裝。函數

php composer.phar install

執行 composer install,就進入自動安裝,安裝完成後會生成一個 composer.lock 文件,裏面是特定的版本號名,須要這個文件和 composer.json 一塊兒提交到版本管理裏去。工具

最後,在須要更新依賴包的時候,可使用如下命令

composer update

若是隻想更新部分依賴

composer update monolog/monolog

5.自動加載

對於庫的自動加載信息,Composer 生成了一個 vendor/autoload.php 文件。你能夠在你項目的入口文件中引入它

<?php
require __DIR__ . '/vendor/autoload.php';
?>

這使得你能夠很容易的使用第三方代碼。例如:若是你的項目依賴 monolog,你就能夠像這樣開始使用這個類庫,而且他們將被自動加載。

<?php
require __DIR__ . '/vendor/autoload.php';

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');
?>

6.Packagist / Composer 中國全量鏡像

因爲牆的問題,因此會致使 Composer 的國外鏡像常常沒法正常的 install,因此推薦使用國內的鏡像,使用方式以下

有兩種方式啓用本鏡像服務:

  • 系統全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。詳見」方法一「
  • 將配置信息添加到某個項目的 composer.json 文件中。詳見」方法二「

方法一: 修改 composer 的全局配置文件
打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶)並執行以下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

方法二: 修改當前項目的 composer.json 配置文件:

打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶),進入你的項目的根目錄(也就是 composer.json 文件所在目錄),執行以下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

上述命令將會在當前項目中的 composer.json 文件的末尾自動添加鏡像的配置信息(你也能夠本身手工添加):

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}

7.使用 Composer 中的 autoload 實現自動加載命名空間

Composer 除了能夠幫你安裝所須要的依賴包之外,還能夠實現自動加載命名空間的功能,當咱們本身編寫的函數庫與類庫須要自動加載時,咱們就能夠經過 composer.json 來實現。它相似於 php 中的 spl_autoload_register(), 其實若是你去查看 Composer 中的源代碼,你會看到它的自動加載功能也是用了 spl_autoload_register() 這個函數。《具體可看此文章詳細介紹》

咱們在 composer.json 裏添加以下代碼:

{
    "autoload": {
        "psr-4": {
            "Test\\": "test/",
            "Testtwo\\": "testtwo/"
        }
    }
}

這個配置文件中有一個 autoload 段,其中有個 《PSR-4》,psr-4 是一個基於 psr-4 規則的類庫自動加載對應關係,只要在其後的對象中,以 」命名空間「: 「路徑」 的方式寫入本身的類庫信息修改完成後,以後,在執行下列命令,便可完成自動加載。

composer dumpautoload
注: "psr-4": {"Test\\": "test/"} 中的 "test/" 路徑爲相對於 composer.json 的路徑

這個時候,你就能夠調用你本身編寫的函數庫或者類庫了

<?php
require __DIR__ . '/vendor/autoload.php';

$testClass = new \Test\Testclass();
?>
注:本文內容參考了 《Composer 中文網》,後續還會更新 Composer 其它的實用功能
相關文章
相關標籤/搜索