PHP 套件、函式庫管理官方版都是使用 PEAR、Pecl 等, 但是 PEAR 已經很久沒動靜了, Pecl 的 Package 數量直接瀏覽的話, 心算應該都可以加總完, 所以大家都往其它方向走, ex: PHP Class Scripts.
註: PEAR 套件製作比較繁瑣, 若想製作 PEAR 套件可以使用此工具: Template for Jenkins Jobs for PHP Projects
現在 PHP 有個困擾就是, Package 分散在各地, 需要分開下載、安裝, 升級、管理是個很大的困擾, 不過此問題看來 Composer 都解決掉了, 於是 Package 如雪片般的出現, 詳見: Packagist
註: Amazon Cloud 官方 PHP 套件使用 Composer 來管理.
PHP 使用 Composer 管理套件、函式厙
Composer 是一隻 Phar 的執行程式(Phar 會將程式打包成一隻執行檔), 可以安裝於自己目錄 或 Global 環境, 在此就只先紀錄 安裝 與 操作使用 的方式.
Composer 安裝
Composer 安裝很簡單, 只要下述步驟即可: (參考資料可見: Composer Introduction)
- $ curl -sS https://getcomposer.org/installer | php # 會產生 composer.phar, 產生完就可以執行操作.
- $ sudo mv composer.phar /usr/local/bin/composer # 搬到全域環境並改名成 composer 方便操作
- 到此就完成囉~
- 註: 安裝於全域環境(Globally), 升級就會需要 sudo composer self-update
- 自己升級: sudo composer selfupdate # composer 升級
- 套件升級: composer update
Composer 套件安裝方式
Composer 先知道如何安裝一個套件與使用: (此範例是安裝 Amazon 官方 SDK 套件)
- vim composer.json # 寫入要使用的套件名稱、版本
{ "require": { "aws/aws-sdk-php": "2.*" } }
- composer install # 即可下載安裝(php composer.phar install)
- 安裝完成後, 程式內容加入
<?php require 'vendor/autoload.php'; ?>
就可以直接使用.
Composer 基本指令操作使用
註: 若 composer.phar 改名為 composer, 請自行將 "php composer.phar" 替換成 "composer".
下述整理自此篇: Composer command line interface
- init: php composer.phar init
- install: php composer.phar install
- update:
- php composer.phar update
- php composer.phar update vendor/package vendor/package2
- php composer.phar update vendor/*
- require:
- php composer.phar require
- php composer.phar require vendor/package:2.* vendor/package2:dev-master
- search: php composer.phar search monolog
- show:
- php composer.phar show
- php composer.phar show monolog/monolog
- php composer.phar show monolog/monolog 1.0.2
- depends: php composer.phar depends --link-type=require monolog/monolog
- validate: php composer.phar validate # It will check if your composer.json is valid
- status: php composer.phar status # php composer.phar status -v
- self-update: php composer.phar self-update
- Config: php composer.phar config --list
- Modifying Repositories: php composer.phar config repositories.foo vcs http://github.com/foo/bar
- create-project: php composer.phar create-project doctrine/orm path 2.2.0
- help: php composer.phar help install
Composer 常用函式庫
下面列出幾個可能會用到的套件:
- opauth/opauth: dev-master
- opauth/facebook: dev-master
- opauth/google: dev-master
- opauth/linkedin: dev-master
- opauth/live: dev-master
- opauth/twitter: dev-master
- A wrapper for the Tesseract OCR engine (Github)