🎉 Hooray! After 3 years of work, I've finally released the ebook on design patterns! Check it out »
Singleton

Singleton in PHP

Singleton is a creational design pattern, which ensures that only one object of its kind exists and provides a single point of access to it for any other code.

Singleton has almost the same pros and cons as global variables. Although they’re super-handy, they break the modularity of your code.

You can’t just use a class that depends on Singleton in some other context. You’ll have to carry the Singleton class as well. Most of the time, this limitation comes up during the creation of unit tests.

Usage of the pattern in PHP

Complexity:

Popularity:

Usage examples: A lot of developers consider the Singleton pattern an antipattern. That’s why its usage is on the decline in PHP code.

Identification: Singleton can be recognized by a static creation method, which returns the same cached object.

Singleton in Other Languages

Design Patterns: Singleton in Java Design Patterns: Singleton in C# Design Patterns: Singleton in C++ Design Patterns: Singleton in Python Design Patterns: Singleton in Ruby Design Patterns: Singleton in Swift Design Patterns: Singleton in TypeScript