composerの仕組み(WIN・MAC)

ではいよいよcomposerのインストールです。
ですがその前にコンポーザーの動きを理解しておいてください。

 

コンポーザーはPHPのライブラリーを管理してくれるツールでPHP言語で動きます。

Windowsの場合はインストーラーで比較的簡単にインストールできます。

ではこのコンポーザーは何をするかというと、プロジェクトフォルダー内に/vendorというフォルダーを作り、その中に様々なPHPのプログラムを自動でダウンロードして保管し、プログラム同士の依存関係や、バージョン管理を自動でやってくれるソフトです。

実行するとcomposer.jsonというファイルが生成されこの中にインストールしたいプログラムを記入すれば、自動でインストールし、その結果を/composer.lockに記録します。ファイルに記入しなくとも、コマンドを打つことによりインストールし自動で/composer.jsonに追加記入もしてくれます。

これから学ぶLaravel もこのコンポーザーを使いインストールします。

コンポーザーがインストールする先の/vendorフォルダーは通常触りません。
別のPCであっても、この中に同じ環境をダウンロードして同じ環境を作るのが目的だからです。
つまり、『何をインストールするか』という命令が書かれた/composer.jsonと/composer.lockの2つのファイルのみ共有できれば、他のPC上に同じ環境を新たに『そのPCにインターネット上からダウンロードしてインストールしてくれる』ということです。この概念を知っておくことはとても大切です。

また、コンポーザーがダウンロードしたプログラムが必要とするファイル、コントローラー、ビュー、他設定ファイルなど、vendorフォルダー以外で設置しないといけないファイルは手作業ではなくvendor:publishというコマンドで自動で書き出す必要があります。これはプログラマーがやってくれます。

Laravelの中においてはデザイナーに関係するのは、/resouce/view/vendorに書き出されたファイルと/public/vendorとなります。
この中のファイルをいじってデザインをすることとなります。

のちに出てくるGitでは、この/vendorフォルダーは共有から除外し、/resouce/view/vendorと/public/vendorは共有化する設定にします。
/composer.jsonと/composer.lockも共有化します。

 

 

以下のようなフォルダー構成ができます。

/purojectroot
┣/public
┃┣/css
┃┣/images
┃┣/js
┃┗/vendor
┃ ┗/モジュール名【4】このフォルダーにコンポーザーがパブリッシュ
┃  ┣/css(実運用でモジュールが使うスタイル・書換可能
┃  ┣/images(実運用でモジュールが使う画像・書換可能
┃  ┗/js(実運用でモジュールが使うJS・書換可能
┣/resources
┃┣/assets
┃┣/lang
┃┗/views
┃ ┣/home.blade.php
┃ ┣/default.blade.php
┃ ┗/vendor
┃  ┗/モジュール名【4】このフォルダーにコンポーザーがパブリッシュ
┃   ┣/index.blade.php(実運用でモジュールが使うブレード・書換可能
┃   ┣/hogemodule.brade.php(実運用でモジュールが使うブレード・書換可能
┃   ┗(その他のブレード・・・)
┣/vendor
┃┗/モジュールベンダー名【3】このフォルダーにコンポーザーがインストール
┃ ┗/モジュール名
┃  ┗(ダウンロードされたモジュール本体・書換不可
┣/composer.json【1】このファイルにダウンロードするファイルを指定
┣/composer.lock【2】このファイルにコンポーザーがインストール結果を記録


この仕組みにより、開発チーム内の各自のPCの細かいモジュールのインストールや依存関係、バージョン管理をコマンド一つで揃えてインストールできるようになります。

 

 

まだLaravel自体のインストールもしていませんが、最初にこれを頭に入れて、実際の構築時にわからなくなったら読み返しに来てください。

次はいよいよcomposerのインストール手順です。