Composer

Composerインストール PHPのライブラリ管理

  • 2017年8月24日
  • 2017年8月27日
  • PHP, 優
  • 1356view
優 Composer

Composer

@see https://getcomposer.org/

 

ComposerはPHPのライブラリ依存管理ツールです。CentOSでお馴染みのYumや、FreeBSDのpkgと同じような使い勝手で管理出来ます。

サンプルとしてPHPでPDFを扱う時に必要なライブラリ『TCPDF』をインストールしてみます。

 

環境

  • CentOS7
  • PHP7

 

Composerのインストール

 

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

 

# php composer-setup.php


All settings correct for using Composer
Downloading...

 

setup用ファイルを削除します。

$ rm -f composer-setup.php

 

# ls -laht

total 1.9M
drwxr-xr-x 4 hoge nginx 4.0K Aug 24 11:12 .
-rwxr-xr-x 1 root root  1.8M Aug 24 11:12 composer.phar
-rw-r--r-- 1 hoge nginx 2.4K Aug 24 11:01 est_done.php
drwxr-xr-x 2 hoge nginx 4.0K Aug 24 10:42 src
-rw-r--r-- 1 hoge nginx 5.8K Aug 24 10:30 index.php
drwxr-xr-x 3 hoge nginx 4.0K Aug 24 09:37 ..

 

 

コマンドの登録を行います。

# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

 

 

Composerでライブラリを探す

packagist.org

@see https://packagist.org/

Composerでインストールが可能なのは、Packagistに登録されているものになります。有名なライブラリはほとんど登録されているので安心して探せます。

 

Composerは一般ユーザで使います。

# su ユーザ名

 

ライブラリのインストール

$ composer require setasign/fpdf:1.8.1

 

vendorディレクトリの中にインストールされています。

$ ls -laht

total 40K
drwxrwxr-x 4 hoge hoge    4.0K Aug 24 11:13 vendor
drwxr-xr-x 5 hoge nginx   4.0K Aug 24 11:13 .
-rw-rw-r-- 1 hoge hoge    2.0K Aug 24 11:13 composer.lock
-rw-rw-r-- 1 hoge hoge    60 Aug 24 11:13 composer.json
-rw-r--r-- 1 hoge nginx   2.4K Aug 24 11:01 est_done.php
drwxr-xr-x 2 hoge nginx   4.0K Aug 24 10:42 src
-rw-r--r-- 1 hoge nginx   5.8K Aug 24 10:30 index.php
drwxr-xr-x 3 hoge nginx   4.0K Aug 24 09:37 ..

 

composer.jsonを活用する

 

composer.jsonに下記のように記述して制御することも出来ます。

$ vi composer.json

{
    "require": {
        "setasign/fpdf": "1.8.1",
        "setasign/fpdi": "^1.6",
        "tecnick.com/tcpdf": "^6.2"
    },
    "config": {
        "vendor-dir": "/var/www/vhosts/example.com/httpdocs/vendor"
    }
}

requireでインストールしたいライブラリを指定して、configでインストール先のvendorディレクトリ先を指定しています。

 

composer.jsonを利用してインストール

$ composer install

 

パッケージを削除する場合

$ composer remove パッケージ

 

 

ライブラリの活用

<?php

$path = realpath(dirname(__FILE__));
require_once($path . '/vendor/tecnick.com/tcpdf/tcpdf.php');
require_once($path . '/vendor/setasign/fpdf/fpdf.php');
require_once($path . '/vendor/setasign/fpdi/fpdi.php');

require_onceでパスを記述して読み込んであげます。

お疲れ様です。

 

Composer
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG