示例#1
0
        if (!is_array($folder)) {
            throw new \Exception('no es un array');
        }
        $this->add($folder);
    }
    protected function add($folder)
    {
        foreach ($folder as $load) {
            $this->folder[] = $load;
        }
    }
    protected function loader($classname)
    {
        $filename = $classname;
        foreach ($this->folder as $add) {
            $test = $add . str_replace("\\", "/", $filename) . '.php';
            if (file_exists($test)) {
                include $test;
            } else {
                unset($test);
            }
        }
    }
    public function run()
    {
        spl_autoload_register(array($this, 'loader'));
    }
}
$load = new Autoload([APP_PATH . '/src/', APP_PATH . '/app/', APP_PATH . '/Database/']);
$load->run();
示例#2
0
<?php

include '__FOOLPHP_TOOLS__ROOT__/config.php';
$obj = new Autoload();
for ($i = 0; $i < 10; $i++) {
    $r = $obj->run($application_path, $config_path, $scan_dir);
    if (true === $r) {
        break;
    }
}
class Autoload
{
    private $filter = array('views');
    private $map_value_name = '$fool_php_class_map';
    public function run($app_root, $config_root, $scan_dir)
    {
        /*{{{*/
        $list = array();
        foreach ($scan_dir as $_dir) {
            $_list = $this->scanFile($app_root . '/' . $_dir);
            if (empty($_list)) {
                continue;
            }
            $list = array_merge($list, $_list);
        }
        $tpl = "\t'%s' => '%s',\n";
        $content_tpl = "<?php\n/*create by : " . $_SERVER['LOGNAME'] . " on : %s*/\n%s = array(\n%s);\n";
        $d = "";
        $n = 1;
        foreach ($list as $class_name => $path) {
            $d .= sprintf($tpl, $class_name, $path);