概要この記事はPHP Advent Calendar 2018の記事です。(ちょっと早めに投稿しています) インターフェースはメソッドの実装を保証する”契約”的意味合いの他、タイプヒンティングによって実装を抽象に依存させる(=実装の切り替えをしやすくする)こともできる。 インターフェースの定義・実装基本的なインターフェースの定義と実装。 <?php interface Action { public function say(); } class Superman implements Action { public function say() { echo "Hello World"; } } $obj = new Superman(); $obj->say(); インターフェースによる機能と実装の分離タイプヒンティングでインターフェース型を指定すると実装に柔軟性を持たせることができる