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!
- Zend Framework 1:
Zend_Registry
holds the application's logger object, front controller etc. - Yii Framework:
CWebApplication
holds all the application components, such asCWebUser
,CUrlManager
, etc.
You can also find these code on GitHub
Registry.php
.. literalinclude:: Registry.php :language: php :linenos:
Tests/RegistryTest.php
.. literalinclude:: Tests/RegistryTest.php :language: php :linenos: