【Laravel】composerは超便利!初心者向けに基本的な使い方を説明致します

【Laravel】composerは超便利!初心者向けに基本的な使い方を説明致します プログラミング
【Laravel】composerは超便利!初心者向けに基本的な使い方を説明致します

phpのフレームワークで有名なLaravel(ララベル)。

僕みたいにCakePHP歴が長いと最初は馴染めないですが、少し使うとLaravelが使いやすい事に気が付きます。

しかし最初にcomposer(コンポーザー)とは何?と思う人もいると思いますので、今回はcomposerを説明させて頂きます。

そもそもcomposerとは

そもそもcomposerとは、ですが以下のような感じです。

composer とはプロジェクトが必要とするライブラリやパッケージを管理し、それをもとにインストールする機能です。

Laravel学習帳から引用

これだけでは?となる人もいると思います。

例えばプロジェクトに利用したいパッケージAがあるとします。ただしパッケージAはライブラリAを必要としていて、ライブラリAはライブラリBを必要としている…といった負の連鎖がよくありました。

これを解決してくれるのが、このcomposerです。composerでパッケージAをインストールすると、パッケージAに必要なライブラリをまとめて入れてくれます。

エンジニアの手間がだいぶ楽になるツールといった感じですね。

composerの各ファイルやディレクトリの説明

composer.json

インストールするパッケージ一覧が記載されているファイルです。

こちらはバージョン管理した方がよいですね。

composer.lock

実際にインストールされたパッケージの詳細が記録されているファイルです。

こちらもバージョン管理した方がよいですね。

/vendor/~

インストールしたパッケージのソース本体が設置されているディレクトリです。

こちらはバージョン管理は不要かなと思います。場合によっては大量のファイル群になるので、各環境毎に保持しておくだけでよいかなと思います。

composerの基本的な使い方

ではcomposerの基本的な使い方を見ていきましょう。

[package]個所はと「xx.xx.xx」個所は適時、読み替えてくださいね。

composer.jsonに記載のパッケージをインストール

composer install

composer.jsonに記載のパッケージを更新

composer update
composer update package

composer.jsonにパッケージのインストール

composer require package
composer require package/package:xx.xx.xx

composer.jsonのパッケージの削除

ccomposer remove package

composer自体のアップデート

composer self-update

composerを使う例

では実際にcomposerを使う例を見ていきましょう。(複数人での開発)

# エンジニアAがプロジェクトの最初に実行
composer dump-autoload
composer update

# エンジニアBがプロジェクトの最初に実行
composer dump-autoload
composer update 

# エンジニアAがプロジェクトに必要なライブラリの導入
composer require package

# エンジニアBがエンジニアAが導入したライブラリを導入
composer install

このように、エンジニアAが導入したパッケージをエンジニアB側でも簡単に導入する事が出来ます。ここがcomposerを利用する上でのメリットでもありますね。

まとめ

この記事のおさらい
  • composerは便利なのでLaravel使いは覚えるべし
  • composerは複数人開発でメリットがある
  • composerでインストールされたファイル群(/vendor/~)はバージョン管理しない

いかがだったでしょうか。

composerはかなり便利でエンジニアの手間がだいぶ楽になります。これを機に覚えるようにしましょう。