Skip to content

Latest commit

 

History

History
 
 

Registry

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Purpose

To implement a central storage for objects often used throughout the application, is typically implemented using an abstract class with only static methods (or using the Singleton pattern). Remember that this introduces global state, which should be avoided at all times! Instead implement it using Dependency Injection!

Examples

  • Zend Framework 1: Zend_Registry holds the application's logger object, front controller etc.
  • Yii Framework: CWebApplication holds all the application components, such as CWebUser, CUrlManager, etc.

UML Diagram

Alt Registry UML Diagram

Code

You can also find this code on GitHub

Registry.php

.. literalinclude:: Registry.php
   :language: php
   :linenos:

Test

Tests/RegistryTest.php

.. literalinclude:: Tests/RegistryTest.php
   :language: php
   :linenos: