Developer

Composerとは 開発環境構築の巻 魁!小野の塾
2022.09.21
Lv2

Composerとは 開発環境構築の巻 魁!小野の塾

Composerとはパッケージ管理ツールです

PHPでの開発において、全てのプログラムを自分で書くことはあまりありません。先人が便利な機能を作成してくれていますので、それを利用して機能を構築していきます。
CSVやXML、JSONなどの形式や、テンプレートエンジンなど、便利なツールが沢山あります。
ただ、PHPのバージョン、ライブラリ間のバージョン管理など、かなり面倒になります。

それを解決してくれるのが、Composerです。Nodeならnpm、Rubyならbundlerがあるように、PHPにはComposerがあります。

※Composerのページは、指揮者の色が更新すると変わります。(どうでも良い情報ですが。。。)

Web開発を行うにあたり、PHPではフレームワークを導入することが多くなってきています。
その場合に、フレームワークをインストールするのも、Composerで行うことが多いです。
バージョンを指定すれば、フレームワークが利用しているライブラリも含み、全てをダウンロードして、開発環境を整えてくれます。

利用するにあたり、先にPHPの環境を構築する必要があります。利用環境はWindowsを前提としていますが、まずはXAMPPをインストールしてください。
魁!小野の塾 開発環境構築の巻 XAMPPとは?
魁!小野の塾 開発環境構築の巻 XAMPPインストール
魁!小野の塾 開発環境構築の巻 XAMPPの使い方

Packagist


Composerが見ているメインのリポジトリは、Packagistで、ライブラリのバージョンも含めて、依存関係も管理してあります。
今回はLaravelで利用しているライブラリを簡単に検索してみましょう。

検索ワードに「laravel」と入力して検索してみると、色々なものがあることが分かります。
Laravelのインストール方法としては、「laravel/laravel」を指定しますので、このリポジトリーを見てみます。

v9.3.8では、requiresに以下が以下のようになっています。

  • php: ^8.0.2
  • guzzlehttp/guzzle: ^7.2
  • laravel/framework: ^9.19
  • laravel/sanctum: ^3.0
  • laravel/tinker: ^2.7

ここで、必用になる内容が書かれており、composerコマンドでlaravelが必用になるパッケージを全てインストールしてくれることになります。
composerコマンドで指定するのは「laravel/laravel」ですが、laravel/frameworkや、guzzlehttp/gazzleもインストールされます。

インストールされたファイルは、プロジェクトのvendorフォルダーにまとめて入るようになり、autoload.phpによりロードされるようになります。

魁!小野の塾 連載目次リンク