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>