Annotation of embedaddon/php/ext/spl/examples/autoload.inc, revision 1.1.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>