Composerって何?(6-4)
現状の課題
機密データがソースコードにベタ書き
ソースコードを誰かに見られたらデータが漏洩し、データが流出する
なので、ライブラリを使用して、機密データを別途管理できる仕組みを作ろう
ライブラリって何?
ライブラリは使いたい部品が入っている道具箱
特定の機能を提供するコードをひとまとめにしたもの
ライブラリを使うと車輪の再発明をしなくてよくなる
*学習時は勉強になるので再発明してよし
PHPでライブラリを使おう
PHPでライブラリを導入したいときはComposerを使うと便利
ComposerはPHPの依存管理ツール
状況
・プロジェクトでたくさんのライブラリを使っている
・ライブラリの中には他のライブラリを使用(に依存)しているものがある
何も使わないと
・一つのライブラリを使うのに他のライブラリをいちいちインストールしてこないといけない
・チーム開発時に人によって使用しているライブラリのバージョンがバラバラ。それ起因でエラーになる
Composerを使うと
・プロジェクトが使用しているライブラリとそのバージョンを統一できる
・ライブラリが依存しているライブラリもセットでインストールできる
・プロジェクトごとにライブラリを管理できる
Composerの仕組み
composer.jsonとcomposer.lockファイルで依存するライブラリを定義する
[composer.json]
プロジェクトで使用するライブラリを一覧にしたもの
[composer.lock]
実際にどのライブラリのどのバージョンをダウンロードしたのかをひとまとめにしたもの
1,composer installを実行すると、インストールしたライブラリとバージョン情報がcomposer.lock書き出される
2,composer.lockがある状態でcomposer installすると、composer.lockに記されたバージョンのライブラリがインストールされる
すると、チーム内で同じバージョンのライブラリを使える
Composerを使おう
[init]
対話形式でcomposer.jsonを作成する(プロジェクトの初期に一度実行)
composer init
[require]
新しいライブラリを追加する
composer.jsonにライブラリが、composer.lockに実際にインストールしたものとバージョン情報が記載される
composer require <ライブラリ名>
[install]
composer.jsonもしくはcomposer.lockに従ってライブラリをインストールする
チーム開発時に使用。共通のバージョンのライブラリを使うことができる
composer install
[remove]
ライブラリを取り除く
composer remove <ライブラリ名>