<?php /** @file autoload.inc * @ingroup Examples * @brief function __autoload * @author Marcus Boerger * @date 2003 - 2005 * * SPL - Standard PHP Library */ /** \internal * Tries to load class $classname from directory $dir. */ function __load_class($classname, $dir) { $file = $dir . '/' . $classname . '.inc'; if (file_exists($file)) { require_once($file); return true; } return false; } /** * @brief Class loader for SPL example classes * @author Marcus Boerger * @version 1.0 * * Loads classes automatically from include_path as given by ini or from * current directory of script or include file. */ function __autoload($classname) { $classname = strtolower($classname); $inc = split(':', ini_get('include_path')); $inc[] = '.'; $inc[] = dirname($_SERVER['PATH_TRANSLATED']); foreach($inc as $dir) { if (__load_class($classname, $dir)) { fprintf(STDERR, 'Loading class('.$classname.")\n"); return; } } fprintf(STDERR, 'Class not found ('.$classname.")\n"); } ?>