PHP Classes

SingletonTrait: Trait to implement the singleton design pattern

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 106 All time: 9,707 This week: 560Up
Version License PHP version Categories
singletontrait 1.0BSD License5.4PHP 5, Design Patterns, Traits
Description 

Author

This package provides a trait to implement the singleton design pattern.

The trait provides functions that return a new instance of the class if none was created so far, or an already created instance of the class otherwise.

It may also force creating a new instance of the class even if another was created.

The trait uses reflection to call the class constructor passing any arguments as a list or as an array.

Picture of Aleksandar Zivanovic
  Performance   Level  
Name: Aleksandar Zivanovic <contact>
Classes: 16 packages by
Country: Serbia Serbia
Age: 30
All time rank: 16206 in Serbia Serbia
Week rank: 240 Up2 in Serbia Serbia Up
Innovation award
Innovation award
Nominee: 4x

Example

<?php

require_once __DIR__ . '/trait.Singleton.php';
require_once
__DIR__ . '/class.Example.php';

$cat = Example::getSharedInstance('Cat', 'MEOW');
$brownCat = Example::getSharedInstance('Brown Cat', 'BREOW'); // Brown cat will sound same as $cat as its same instance
$dog = Example::getNewInstance('Dog', 'WOF');

$breakLine = php_sapi_name() === 'cli' ? "\n" : '<br>';

$cat->makeSound($breakLine);
$brownCat->makeSound($breakLine);
$dog->makeSound($breakLine);


  Files folder image Files (3)  
File Role Description
Plain text file class.Example.php Class Example class
Accessible without login Plain text file example.php Example Example script
Plain text file trait.Singleton.php Class Singleton Trait

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 0%
Total:106
This week:0
All time:9,707
This week:560Up