まずは改めて各ファイルの役割から。
composer.lock:現在使用しているバンドルのバージョン等が管理されます。
composer.json:必要となるバンドルを記述します。
composer.pharで実行。
んで、composer install と composer updateですが、
composer install:composer.lockに書かれている各ライブラリをインストールする。
composer update:composer.jsonをもとに各ファイルを最新版にアップデートする。
ということでした。
ユースケースとしては
-
新しい環境ではじめにインストールするとき:composer install
-
何か新しいバンドルを追加したい:composer.jsonにかいてcomposer update
-
本番のライブラリを最新版にしたい:開発環境でcomposer updateして問題なければcomposer.lockファイルを本番にコピーしてcomposer intallする
というかんじでしょうか。開発環境ではupdateのほうが頻繁に使うことになるかと思います。