分類: 網頁開發

Composer:PHP 專用的套件相依性管理程式

Composer 是一個 PHP 專用的套件相依性管理程式,它可以依照套件相依性的設定檔,自動下載與安裝或升級各種 PHP 套件。

安裝 Composer

Linux 與 Mac OS X

如果是在 Linux 或是 Mac OS X 中,可以使用簡單的指令來將 Composer 安裝在自己的目錄中:

curl -sS https://getcomposer.org/installer | php

如果這個方式無法成功安裝的話,可以再嘗試另外一個方式:

php -r "readfile('https://getcomposer.org/installer');" | php

在預設的狀況下,它會檢查一些 PHP 的相關設定,並且下載一個 composer.phar 檔案到目前的目錄中,這個檔案是一個 PHAR(PHP archive)檔,包含了所有 Composer 執行所需要的檔案。


您也可以加上 --install-dir 指定安裝的目錄:
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

基本上您可以安裝在任何地方,若要放在系統的目錄中也可以:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Windows

如果是在 Windows 系統,就直接下載 Composer-Setup.exe 這個安裝檔,它會自動安裝最新版的 Composer 並且設定好系統的 PATH

使用 Composer

在開始使用 Composer 之前,您必須建立一個檔名為 composer.json 的設定檔,這個檔案會描述了您的專案所需要的相依性套件。

require 關鍵字

composer.json 設定檔中,最基本的語法就是以 require 列出專案所需要套件:

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

require 所指定的物件內容會描述套件的名稱(如:monolog/monolog)與其版本(如:1.0.*)。

套件的名稱中包含兩個部分,一個是廠商名稱(vendor name),另一個是專案的名稱(project’s name),大部份的情況下這兩個名稱可能會相同(就像上面的例子),而這樣設計的目的是為了處理不同套件卻使用了相同名稱的狀況,如果專案名稱相同的話,還可以靠作者的名稱來區別(例如 igorw/jsonseldaek/json)。

套件版本的部分,有好多種指定的形式,您可以依照自己的需求選擇:

名稱 範例 敘述
確切版本 1.0.2 完全依照指定的版本。
版本範圍 >=1.0
>=1.0,<2.0
>=1.0,<1.1 | >=1.2
指定版本的範圍,可用的運算子有:>>=<<=!=。逗號(,)代表 AND 運算,pipe(|)代表 OR 運算,而 AND 運算的優先權大於 OR 運算子。
萬用字元 1.0.* 以萬用字元指定版本,1.0.* 等同於 >=1.0,<1.1
Tilde 運算子 ~1.2 維持主要版本。~1.2 等同於 >=1.2,<2.0

在設定好 composer.json 之後,就可以執行這行指令,讓 Composer 自動安裝所依需要的套件:

php composer.phar install

這裡僅介紹 Composer 基本的用法,詳細的使用說明,可以參考 Composer 官方網站的文件

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: PHP

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago