概念的な例
この例は、 Observer デザインパターンの構造を説明するためのものです。 以下の質問に答えることを目的としています:
- どういうクラスからできているか?
- それぞれのクラスの役割は?
- パターンの要素同士はどう関係しているのか?
ここでパターンの構造を学んだ後だと、 これに続く、 現実世界の PHP でのユースケースが理解しやすくなります。
index.php: 概念的な例
Output.txt: 実行結果
現実的な例
この例では、 Observer パターンを使い、 あるアプリのユーザー・リポジトリー (管理簿) 内で起きるイベントを他のオブジェクトが監視できるようにします。
リポジトリーは、 いろいろな種類のイベントを発生し、 オブザーバーは、 その全部について通知を受けることも、 個別に通知を受けることもできます。
index.php: 現実的な例
Output.txt: 実行結果