Composerを使おう!

Composer_龍野情報システム

Composerを使おう!

Composerブログ記事初投稿の開発の吉野🔫です。今回はPHPライブラリの依存関係管理ツールComposerについて記事を書いていきたいと思います。本稿もどうぞよろしくお願い致します。

目次はこちら

  • 1. Composerとは?
  • 2. Composerの利点
  • 3. まとめ

Composerとは?

Composerは、PHP のプロジェクトが必要とするライブラリやパッケージを管理する「ライブラリ依存管理ツール」です。Composerが優れている点はプロジェクト内のPHPライブラリの依存関係を管理してくれます。

例えば、プロジェクトには A というパッケージが必要だったとします。 しかし A を利用するためには B というライブラリが必要でBを利用するにはCというライブラリが必要である場合があります。 手作業でライブラリを収集する場合は、このような依存関係を全て自らで解決しないといけません。しかし、Composer を使うと利用するパッケージとして、Aを宣言すれば、自動的にB 、Cも含めてパッケージをインストールしてくれます。

Composer

Composerの利点

1 . 開発環境の共有が簡単に行える
2 . リモートリポジトリを綺麗に保てる
3 . 独自クラス、ライブラリのオートロード
※この3つの利点について順番に説明していきたいと思います。

開発環境の共有が簡単に行える


開発を進めるにあたって様々なライブラリが必要になってくると思います。開発メンバーが個人でライブラリをインストール、アップデートするのは非常に手間がかかりますし、メンバー間でライブラリのバージョンが統一出来ていない等といった問題も発生します。

しかし、Composerは「compoesr require 」コマンドを入力するだけで、自動的にライブラリの依存関係を解決したうえでパッケージをダウンロードしてくれます。「composer require」コマンド入力後にはcomposer.lockというダウンロードしたパッケージのバージョン情報が記載されたファイルが自動生成されます。
composer.lockをメンバー間で共有して、composer.lockが存在するディレクトリで「composer install」コマンドを入力することでメンバー間で同一の環境を簡単に用意することが出来ます。

リモートリポジトリを綺麗に保てる


Composerでインストールしたライブラリ群は一括で「vendor」ディレクトリに保存されます。
「vendor」ディレクトリをバージョン管理システムの管理対象外にすることで大量のライブラリをリモートリポジトリにあげなくて済みます。これにより誰かが改変したライブラリがバージョン管理に含まれることを防ぐことが出来ます。

独自クラス、ライブラリのオートロード

PHPにはオートロードという「include_once」などで明示的にファイルを読み込まなくても、使用された際に自動的にファイルを読み込んでくれる仕組みがあります。

{
 ”autoload”: {
  ”classmap”: [
   ”module”
  ]
 }
}

composer.jsonにオートロードしたいファイルを記述して「composer dump-autoload」コマンドを入力することで、自動でクラスを呼び出すことが出来るようになります。

まとめ

Composerは、PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供する管理システムです。
このライブラリを使うことによって、シンプルなコードが書けたり、複雑な処理をとっても簡単に使うことができます。composerを使うことでライブラリの管理を簡単に出来るようになるので、積極的に使用していきましょう!

jaJapanese