デス・スター(バージョン管理)
The Death Star
https://phpunit.expert/img/articles/der-todesstern.jpg
バージョン管理におけるデス・スター制約の危険性と適切な依存関係管理の重要性の整理
デス・スター制約の問題点
*や >=4.8 のような 無制限のバージョン指定は、Composer に「常に最新(=互換性がない可能性のある major)」をインストールさせる
PHPUnit 6 リリース時、"phpunit/phpunit": "*" を使っていた開発者のテストが突然動かなくなった
非互換な major バージョンが自動で入るため、予期せぬ破壊的変更が発生する
依存関係は新鮮に保つべき
古い・メンテされない依存は、PHP本体の更新などで突然壊れるリスクがある
PHP自体のアップグレードを特別扱いせず、通常の運用プロセスに組み込むべき
同様に、サードパーティ依存も 定期的に更新し続けることが健全性につながる。