(require-devの落とし穴について)2014/07/29ツイートcomposer.jsonの"require-dev"という仕組みには落とし穴があります。使うときは十分気をつけましょう。そもそも"require-dev"とは何か?本番環境で必要のない開発環境用のパッケージを記述する場合に使います。}}例えばこのように記述すると、本番では"http-foundation"のみを使い、開発環境ではそれに加えて"phpunit"も使う、というようなことが可能になります。うっかり"require-dev"パッケージを呼び出すコードを書いてしまうと事故になる。プロジェクトでYAMLファイルを扱いたいと思って"symfony/yaml"を呼び出すコードを書いたとします。Yaml::parse($file);このコードは開発環境ではバッチリ動いてしまいます。phpunitが"symfony/yaml"に依存してるので、phpunitをインストールすると芋づる式に"symfony/yaml"が入るからです。--dev"してrequire-devパッケージを入れてしまうメリット:上記のような事故がおきないデメリット:本番環境に無駄にパッケージを入れることになる。(インストール時間が長くなる、ディスク容量の無駄、等)対策2:本番環境で、パッケージの存在有無をチェックするテストスクリプトを走らせるメリット:本番にrequire-devを入れなくて済む。デメリット:テストスクリプトの作成忘れ、実行忘れを防げない対策3:開発者が気をつけるこれはダメなやつや・・PHPプログラマのみなさんはどうされているのでしょうか?「自分はこうしてる」などの事例があればTwitterなどで教えていただけると幸いです。