Skip to content

Files

Latest commit

author
Dominik Liebler
Sep 22, 2016
6a98bcb · Sep 22, 2016

History

History
This branch is 582 commits behind DesignPatternsPHP/DesignPatternsPHP:main.

Singleton

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 22, 2016
Jul 31, 2014
May 29, 2015
Sep 22, 2016

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 these code on GitHub

Singleton.php

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

Test

Tests/SingletonTest.php

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