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のインストール手順です。