note 76068 deleted from language.oop5.autoload by felipe

From: Date: Mon, 24 Mar 2008 22:41:50 +0000
Subject: note 76068 deleted from language.oop5.autoload by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-137505@lists.php.net to get a copy of this message
Note Submitter: dave ---- a static classlist can speed up the autoload in a arbitrary folder structure. each file holds one class with filename = classname + .php <?php define ("CLASS_PATH", "path to your classes"); function __autoload($className) { static $classes = null; if (!$classes) $classes = loadClasses(CLASS_PATH); require_once($classes[$className]); } function loadClasses($path) { $classes = array(); $h = @opendir($path); if ($h) while ($file = @readdir($h)) { if ($file=='.' || $file=='..') continue; if(is_dir($path.$file)) $classes = array_merge($classes, loadClasses($path.$file."/")); else $classes[array_shift(explode(".", $file))] = $path.$file; } return $classes; } ?>

« previous php.notes (#137505) next »