Annotation of embedaddon/php/ext/spl/examples/autoload.inc, revision 1.1
1.1 ! misho 1: <?php
! 2:
! 3: /** @file autoload.inc
! 4: * @ingroup Examples
! 5: * @brief function __autoload
! 6: * @author Marcus Boerger
! 7: * @date 2003 - 2005
! 8: *
! 9: * SPL - Standard PHP Library
! 10: */
! 11:
! 12: /** \internal
! 13: * Tries to load class $classname from directory $dir.
! 14: */
! 15: function __load_class($classname, $dir)
! 16: {
! 17: $file = $dir . '/' . $classname . '.inc';
! 18: if (file_exists($file))
! 19: {
! 20: require_once($file);
! 21: return true;
! 22: }
! 23: return false;
! 24: }
! 25:
! 26: /**
! 27: * @brief Class loader for SPL example classes
! 28: * @author Marcus Boerger
! 29: * @version 1.0
! 30: *
! 31: * Loads classes automatically from include_path as given by ini or from
! 32: * current directory of script or include file.
! 33: */
! 34: function __autoload($classname) {
! 35: $classname = strtolower($classname);
! 36: $inc = split(':', ini_get('include_path'));
! 37: $inc[] = '.';
! 38: $inc[] = dirname($_SERVER['PATH_TRANSLATED']);
! 39: foreach($inc as $dir)
! 40: {
! 41: if (__load_class($classname, $dir))
! 42: {
! 43: fprintf(STDERR, 'Loading class('.$classname.")\n");
! 44: return;
! 45: }
! 46: }
! 47: fprintf(STDERR, 'Class not found ('.$classname.")\n");
! 48: }
! 49:
! 50: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>