note 76258 deleted from language.oop5.autoload by felipe

From: Date: Mon, 24 Mar 2008 22:41:42 +0000
Subject: note 76258 deleted from language.oop5.autoload by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-137503@lists.php.net to get a copy of this message
Note Submitter: alexandre at nospam dot gaigalas dot net ---- Here is a simple version of __autoload for creating custom classes on the fly, extending pre-defined (using a constant) base classes: <?php define('CUSTOM_CLASS_TYPES', 'Application|Database|XML'); function __autoload($req) { if (preg_match('#(.*)('.CUSTOM_CLASS_TYPES.'){1}$#', $req , $fragment)) eval('class '.$req.' extends base'.$fragment[2].' { public $_name = \''.$fragment[1].'\'; public $_type = \''.$fragment[2].'\'; } '); } /* Base Classes */ class baseApplication {} class baseDatabase {} class baseXML{} /* Calling a custom Class */ $foo = new projectApplication; print_r($foo); ?>

« previous php.notes (#137503) next »