Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 946 Bytes

README.rst

File metadata and controls

50 lines (35 loc) · 946 Bytes

THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND MAINTAINABILITY USE DEPENDENCY INJECTION!

Purpose

To have only one instance of this object in the application that will handle all calls.

Examples

  • DB Connector
  • Logger (may also be a Multiton if there are many log files for several purposes)
  • Lock file for the application (there is only one in the filesystem ...)

UML Diagram

Alt Singleton UML Diagram

Code

You can also find this code on GitHub

Singleton.php

.. literalinclude:: Singleton.php
   :language: php
   :linenos:

Test

Tests/SingletonTest.php

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