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
packagecomposer 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はかなり便利でエンジニアの手間がだいぶ楽になります。これを機に覚えるようにしましょう。