Switch to full style
:read: Start PHP with us. Includes topics to help you in php
Post a reply

Factory pattern

Mon Oct 27, 2008 12:14 pm

Code:
<?php

class ClassFactory{
   
private $registeredClasses = array();
   static
private $instance = NULL;

   
private function __construct() {}

   static function
getInstance(){
      if(
self::$instance == NULL){
         
self::$instance = new ClassFactory();
      }
      return
self::$instance;
   }

   function
registerClass($id, $creator_func){
      
$this->registeredClasses[$id] = $creator_func;
   }

   function
createObject($id, $args) {
     if(!isset(
$this->registeredClasses[$id])){
        return(
NULL);
     }
     return(
$this->registeredClasses[$id]($args));
   }
}

function
MyClassCreator(){
   return
"creator";
}


$factory = ClassFactory::getInstance();

$factory->registerClass(1, "MyClassCreator");

$instance = $factory->createObject(1, array());

?>




Post a reply
  Related Posts  to : Factory pattern
 DAO Pattern     -  
 about dao design pattern     -  
 The Singleton Pattern     -  
 Strategy Pattern     -  
 DAO design pattern     -  
 Singleton Pattern Demo     -  
 Replacing a Pattern with a Found String     -  

Topic Tags

PHP OOP