Total members 11895 |It is currently Sun Dec 22, 2024 5:27 pm Login / Join Codemiles

Java

C/C++

PHP

C#

HTML

CSS

ASP

Javascript

JQuery

AJAX

XSD

Python

Matlab

R Scripts

Weka





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());

?>




_________________
M. S. Rakha, Ph.D.
Queen's University
Canada


Author:
Mastermind
User avatar Posts: 2715
Have thanks: 74 time
Post new topic Reply to topic  [ 1 post ] 

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



Topic Tags

PHP OOP
cron





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com