Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class SingletonFactory {
- private static $instance = null;
- private $objects = [];
- private function __construct() { }
- public static function getInstance() {
- if (empty(self::$instance)){
- return self::$instance = new self();
- }
- return self::$instance;
- }
- public static function make($className, $options){
- if (!class_exists($className)) {
- return null;
- }
- if (!isset(self::getInstance()->objects[$className])){
- return (self::getInstance()->objects[$className] = new $className($options));
- }else{
- return self::getInstance()->objects[$className];
- }
- }
- public static function get($className) {
- if (isset(self::getInstance()->objects[$className])){
- return self::getInstance()->objects[$className];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement