Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. <?php
  2.  
  3. class SingletonFactory {
  4. private static $instance = null;
  5. private $objects = [];
  6. private function __construct() { }
  7. public static function getInstance() {
  8. if (empty(self::$instance)){
  9. return self::$instance = new self();
  10. }
  11. return self::$instance;
  12. }
  13.  
  14. public static function make($className, $options){
  15. if (!class_exists($className)) {
  16. return null;
  17. }
  18. if (!isset(self::getInstance()->objects[$className])){
  19. return (self::getInstance()->objects[$className] = new $className($options));
  20. }else{
  21. return self::getInstance()->objects[$className];
  22. }
  23. }
  24.  
  25. public static function get($className) {
  26. if (isset(self::getInstance()->objects[$className])){
  27. return self::getInstance()->objects[$className];
  28. }
  29. }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement