本連載では、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)する必要があります。
また、コマンドラインを使ってもインストールすることができます。例えば、XAMPPでインストールしたフォルダ(c:\xampp\php)にインストールしたい場合には、以下のように直接ファイルを配置し、バッチファイルを作成します。
> 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)。
$ 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)
この記事は参考になりましたか?
- PHPパッケージ管理ツール「Composer」入門連載記事一覧
-
- Composerのプロジェクトを公開して使う
- Composerを使ってPHPのプロジェクトを管理する
- Composerを使ってPHPのパッケージを簡単インストール
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)
< WINGSプロジェクト について> 有限会社 WINGSプロジェクト が運営する、テクニカル執筆コミュニティ(代表 ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
