UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

PHPのパッケージ管理ツールはComposerを使うと便利

PHPは食わず嫌いでほとんど触っていなかったのですが、最近少し遊んで見ようと思い、色々調べてみました。 実際にプログラミング言語を運用するに当たって、その使いやすさを決定するのはパッケージ管理ツールの出来だと思っています

Rubyならgem、Pythonならpip、Node.jsならnpmとそれぞれ非常に使いやすいので、PHPにも対応するツールがないかと思っていたらPHPではComposerを使うのが一般的だそうです。

導入

MacならHomebrewで一発

$ brew install homebrew/php/composer

プロジェクト用のディレクトリを作成

適当な名前の空のプロジェクト用ディレクトリを作成します

mkdir php_test
cd php_test

composer.jsonを作成

そして導入したいパッケージとそのバージョンを指定します

{
  "require": {
    "fennb/phirehose": "1.0.*"
  }
}

そしてインストール、この辺りはnpmにそっくりですね

composer install 

パッケージが導入される

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing fennb/phirehose (v1.0.1): Downloading (100%)         
Writing lock file
Generating autoload files

このように新しくcomposer.lockとvendorが作成されます。

f:id:mochizuki_p:20170616195532p:plain

パッケージはvendor内に展開されています。

autoload.phpを読み込めば全てのライブラリが読み込まれる

composerの便利な点は一度vendor/autoload.phpを読み込めば、導入したライブラリを全て使用可能になるところですね。

これは便利だ!

後はパッケージを使い放題

<?php

require_once 'vendor/autoload.php';

...