みんな大好きComposer、いつも色んなパッケージを持ってきてくれますよね。
「言われたものを持ってきてくれる」ということは、
「そのパッケージがあるか」「今の環境等に対応しているか」「どのバージョンが良いか」「新しく取得する必要があるか」「どこにあるか」「どこに配置するか」を解決している事を意味します。
これらの情報は、
を再帰的に読み解いていくことで、整合性の取れた情報を組み立てています。
仕組みを知ることで、少し便利に感じたり、トラブルシュート力が上がるかも知れませんね!
ということで、composer install
の実行時の動作を例にして、
「どこからどんな情報を取得しているか」「どういう順番で処理を進めているか」の概要を説明します。
具体的なロジックは実際にソースコードを読んでもらうことにして、
本記事では登場人物と役割(持っている情報の範囲)、シーケンスに触れていきます。