bootLoader->cli)) { die("CLI only"); } } function get($base, $opts = array()) { $dir = array($this->rootDir); $cls = array(); // $this->scan($this->rootDir, 'Pman'); $this->scan($dir, $cls); } function scan($dir, $cls) { foreach (scandir(implode('/', $dir)) as $d) { if (!strlen($d) || $d[0] == '.') { continue; } if (is_dir($d)) { $this->scan(array_merge($dir, array($d)), array_merge($cls, array($d))); continue; } if (!preg_match('/\.php$/', $d)) { continue; } } } // function scan($p, $pr, $path = false) // { // $full_path = array($p, $pr); // $class_path = array(); // if ($path !== false) { // $full_path = array_merge($full_path, $path); // $class_path = array_merge($class_path, $path); // } // //print_r("CHKDIR: ". implode('/', $full_path)."\n"); // // foreach (scandir(implode('/', $full_path)) as $d) { // // if (!strlen($d) || $d[0] == '.') { // continue; // } // $chk = $full_path; // $chk[] = $d; // // $clp = $class_path; // // // // //print_r("CHK: " . implode('/', $chk)."\n"); // // is it a file.. and .PHP... // if (!is_dir(implode('/', $chk))) { // if (!preg_match('/\.php$/', $d)) { // continue; // } // $clp[] = preg_replace('/\.php$/', '', $d); // // //print_r("CLP: " . implode('/', $clp)."\n"); // require_once "Pman/" . implode('/', $clp) . '.php'; // continue; // } // $clp[] = $d; // // otherwise recurse... // //print_r("RECURSE: " . implode('/', $clp)."\n"); // // $this->scan($p, $pr, $clp); // } // } function output() { die("DONE"); } }