章: 第3章: コマンドラインで動かす
対象OS: Windows / Mac 共通(差異は各セクションに記載)
「ライブラリをコピーして使う時代は終わった」
かつてはPHPライブラリを手動でダウンロードしてフォルダに配置していました。しかしそのやり方では、バージョン管理が煩雑になり、依存関係の整合性を手で維持しなければなりません。
Composerはこの問題をすべて解決します。 composer require コマンド1つで、必要なライブラリとその依存ライブラリをまとめてインストールできます。LaravelをはじめほぼすべてのモダンなPHPプロジェクトで使われており、早い段階で使い方を覚えておく価値があります。
Composerとは
Composerは「PHPの依存関係管理ツール」です。composer.json というファイルに必要なライブラリを定義し、composer install でまとめて取得します。
| ファイル | 役割 |
composer.json |
必要なライブラリとバージョン要件を定義するファイル |
composer.lock |
実際にインストールされたバージョンを記録するファイル |
vendor/ |
ライブラリの実体が格納されるフォルダ |
インストール手順
### Windowsの場合
1. [https://getcomposer.org/download/](https://getcomposer.org/download/) から「Composer-Setup.exe」をダウンロード
2. インストーラーを実行し、画面の指示に従って進める
3. PHPのパス(C:\xampp\php\php.exe など)を選択する画面が出たら、使用するPHPを指定する
4. インストール完了後、コマンドプロンプトを新しく開いて確認:
composer --version
### Macの場合
ターミナルで公式のインストールスクリプトを使います。
# インストールスクリプトをダウンロードして実行
curl -sS https://getcomposer.org/installer | php
# システム全体から使えるように移動
sudo mv composer.phar /usr/local/bin/composer
# 確認
composer --version
Homebrewを使っている場合は1コマンドで完了します:
brew install composer
チェックポイント:
Composer version 2.x.xのように表示されれば、インストール成功です。
プロジェクトを初期化する
新しいプロジェクトにComposerを導入するには:
# プロジェクトフォルダを作成して移動
mkdir myproject && cd myproject
# composer.json を対話式で作成
composer init
いくつかの質問に答えると composer.json が生成されます。スキップしたい項目はEnterを押すだけで構いません。
ライブラリをインストールする
例として、日付処理ライブラリの「Carbon」を追加します:
composer require nesbot/carbon
実行すると:
composer.jsonにライブラリ情報が追記されるcomposer.lockが生成(または更新)されるvendor/フォルダにライブラリの実体がダウンロードされる
インストールしたライブラリを使う
Composerがインストールしたライブラリは、vendor/autoload.php を読み込むだけで使えるようになります。
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
$now = Carbon::now();
echo $now->format('Y年m月d日 H:i:s');
require_once を複数書かなくても、1行の require で全ライブラリが使える——これがオートロードの便利さです。
よく使うコマンド
| コマンド | 用途 |
composer require パッケージ名 |
ライブラリを追加 |
composer install |
composer.lock を元に全依存をインストール |
composer update |
ライブラリを最新バージョンに更新 |
composer remove パッケージ名 |
ライブラリを削除 |
composer dump-autoload |
オートロードを再生成 |
vendor/ フォルダはGitに含めない
vendor/ はComposerが自動生成するため、Gitで管理する必要はありません。
.gitignore に以下を追記します:
/vendor/
チームメンバーが git clone した後は composer install を実行すれば、composer.lock を元に同じバージョンのライブラリが再現されます。
WindowsとMacの差異まとめ
| 項目 | Windows | Mac |
| インストール方法 | .exe インストーラー |
curl スクリプトまたは brew install composer |
| コマンドの動作 | 同じ(composer) |
同じ(composer) |
| パスの問題 | PHPのパスを明示的に設定する必要がある場合あり | Homebrewならほぼ自動 |
まとめ & 次のステップ
- Composerはライブラリの依存関係を
composer.jsonで管理するツール composer requireでライブラリを追加し、vendor/autoload.phpで読み込むvendor/はGitで管理せず、.gitignoreに追加する- WindowsはGUIインストーラー、MacはHomebrewが便利
次回は「VS Codeとおすすめ拡張機能」を解説します。コーディング効率を上げるための設定と拡張機能を、Windows・Mac共通で紹介します。