Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Composerを使ってPHPのパッケージを簡単インストール

PHPパッケージ管理ツール「Composer」入門 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/07/02 14:00

 本連載では、Composerを使ったパッケージ管理を紹介します。PHPではデフォルトでインストールされているPEARがありますが、最近では、Composerというパッケージ管理ツールも使われつつあります。例えば、JavaなどではMavenのようなツールでパッケージ管理をしたり、Rubyではbundlerといったパッケージ管理が使われるなど、現在では多くの言語でパッケージ管理ツールが使われています。

目次

 パッケージ管理ツールを使うとプロジェクトで使われているライブラリの依存関係を管理しやすくなり、依存しているライブラリのインストールも簡単になります。CakePHPもComposerを使ってインストールができるようサポートしており、開発環境ではZend Studioなどでの標準サポートされているなど、PHPでの開発では必須知識といえるほどの広がりを見せています。

 本連載では、Composerの導入方法とその使い方から、利用者自身が作成したコードをComposerを使ってパッケージ管理する方法までを紹介します。

対象読者

 PHPで開発を行っている方を対象としています。

必要な環境

 この記事では、PHP 5.5を使用し、Windows 8.1、Linux(CentOS6.3)、Mac OS X(10.9)の環境で確認を行っています。ただし、Composer自身はPHP5.3.2以上からサポートしています。

Composerを使うメリット

 今までPEARなどのパッケージ管理がありましたが、それらに代わりComposerが広まりつつある理由はなんでしょうか? 筆者が思うには、大きく分けて2つの理由があると思います。

(1)パッケージ管理される範囲

 PEARでは通常、インストールしたパッケージはOS全体に反映していました。そのため、そのOS上で動作するすべてのプログラムに対してすべて適用する場合には非常に都合がよい方法でした。もちろん、PEARであってもインストールするフォルダをプロジェクトごとに設定してインストールすればできないことはないのですが、非常に手間がかかってしまいます。しかし、Composerではプロジェクト単位が基本になります。

 もちろん、一長一短はあるのですがPHPで構成されたプロジェクトが1つのディレクトリ内で完結できるメリットがあります。従って、複数のプロジェクトで同じライブラリを使っていても異なるバージョンを利用できますし、他のプロジェクトでインストールされたライブラリに影響されることもありません。また、PHPというプログラム特性上、root権限などがなくても手軽に使える必要があるというニーズもあることと思います。

(2)クラスオートローディング機能を利用できる

 クラスオートローディング機能とはPHP5.3から本格的に利用され始めた機能で、requireやincludeを記述することなく、クラスが使われているとそれに応じたファイルを自動的に読みこむ機能です。

 Composerを使って導入したパッケージのクラスを利用する際には、requireやincludeなどを記述せずにプログラムが記述できます。特にライブラリ内にある、直接プログラマが記述しないクラスを使う際には非常に便利な機能です。

 1つ目は管理体系の話であり、プログラマにとっては一度導入されればあまり違いがなく開発を進められると思いますが、この2つ目の利点はプログラマに対して直接メリットがあり、開発効率をあげることができます。このように、管理面とプログラマの効率面の2つの側面でメリットが得られる優れたパッケージ管理と言えると思います。

インストール

 続いて、OSごとのComposerのインストール方法を紹介します。

Windows環境の場合

 Windowsの場合にはインストーラーが用意されています。ComposerのダウンロードページからComposer-Setup.exeをダウンロードし、ファイルを実行するだけで終了します。

 インストールする際には、コマンドを実行せずにコンテキストメニューからComposerコマンドを実行できるようにするための指定ができます(図2)。また、最後にPHPのパスを指定(図3)する必要があります。

図1 Composerインストール画面
図1 Composerインストール画面
図2 Composerをコンテキストメニューで利用できるようにする
図2 Composerをコンテキストメニューで利用できるようにする
図3 PHPのパスを指定する
図3 PHPのパスを指定する

 また、コマンドラインを使ってもインストールすることができます。例えば、XAMPPでインストールしたフォルダ(c:\xampp\php)にインストールしたい場合には、以下のように直接ファイルを配置し、バッチファイルを作成します。

リスト1 Windowsでのコマンドライン上でのインストール方法
> cd c:\xampp\php
> php -r "readfile('https://getcomposer.org/installer');" | php
> echo @php "%~dp0composer.phar" %*>composer.bat

Linux/Mac環境の場合

 LinuxもしくはMacの場合にはコンソール上でインストールができます。リスト2(インストール手順)のように、(1)プログラムの本体であるcomposer.pharをダウンロードします。次にcomposerコマンドとして機能するように、ダウンロードしたファイルを/usr/local/binなどサーチパスが通った場所にcomposerコマンドとして配置します(2)

リスト2 インストール手順
$ curl -sS https://getcomposer.org/installer | php      //(1)
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /Users/phpuser/tmp/composer.phar
Use it: php composer.phar
$ sudo -s mv composer.phar /usr/local/bin/composer  //(2)

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2012年2月時点での登録メンバは37名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:PHPパッケージ管理ツール「Composer」入門

おすすめ記事

All contents copyright © 2006-2016 Shoeisha Co., Ltd. All rights reserved. ver.1.5