だよねがエンジニアになるんだよね

プログラミング初心者の学びブログ

Composerって何?(6-4)

現状の課題

機密データがソースコードにベタ書き

ソースコードを誰かに見られたらデータが漏洩し、データが流出する

なので、ライブラリを使用して、機密データを別途管理できる仕組みを作ろう

 

 

ライブラリって何?

ライブラリは使いたい部品が入っている道具箱

特定の機能を提供するコードをひとまとめにしたもの

ライブラリを使うと車輪の再発明をしなくてよくなる

*学習時は勉強になるので再発明してよし

 

 

PHPでライブラリを使おう

PHPでライブラリを導入したいときはComposerを使うと便利

ComposerPHP依存管理ツール

状況

・プロジェクトでたくさんのライブラリを使っている

・ライブラリの中には他のライブラリを使用(に依存)しているものがある

 

何も使わないと

・一つのライブラリを使うのに他のライブラリをいちいちインストールしてこないといけない

・チーム開発時に人によって使用しているライブラリのバージョンがバラバラ。それ起因でエラーになる

 

Composerを使うと

・プロジェクトが使用しているライブラリとそのバージョンを統一できる

・ライブラリが依存しているライブラリもセットでインストールできる

・プロジェクトごとにライブラリを管理できる

 

 

Composerの仕組み

composer.jsoncomposer.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 <ライブラリ名>