Skip to content

Latest commit

 

History

History
 
 

Observer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Purpose

To implement a publish/subscribe behaviour to an object, whenever a "Subject" object changes it's state, the attached "Observers" will be notified. It is used to shorten the amount of coupled objects and uses loose coupling instead.

Examples

  • a message queue system is observed to show the progress of a job in a GUI

Note

PHP already defines two interfaces that can help to implement this pattern: SplObserver and SplSubject.

UML Diagram

Alt Observer UML Diagram

Code

You can also find these code on GitHub

User.php

User.php

UserObserver.php

UserObserver.php

Test

Tests/ObserverTest.php

Tests/ObserverTest.php