Beispiel #1
0
 /**
  * 注册应用
  */
 public function registerProject($project, $dir, $prefix = '')
 {
     class_loader()->registerNamespace($project, $dir);
     $files = file_scan($dir . '/' . $project, "|(\\w+)/\\1.php\$|is", array('fullpath' => true, 'minDepth' => 2));
     foreach ($files as $f) {
         list($module, ) = explode('.', $f['basename']);
         $r = new ReflectionClass("{$project}\\{$module}\\{$module}");
         foreach ($r->getMethods() as $method => $m) {
             if (!empty($m['comments']['route'])) {
                 $routes = $this->mergePathPrefix($m['comments']['route'], $prefix);
                 route_register($routes, "{$project}\\{$module}\\{$module}::{$method}");
             }
         }
     }
 }
Beispiel #2
0
function file_scan($folder, $defs, $debug) {
	// hunts files/folders recursively for scannable items
	global $dircount, $report;
	$dircount++;
	if ($debug)
		$report .= '<p class="d">Scanning folder $folder ...</p>';
	if ($d = @dir($folder)) {
		while (false !== ($entry = $d->read())) {
			$isdir = @is_dir($folder.'/'.$entry);
			if (!$isdir and $entry!='.' and $entry!='..') {
				virus_check($folder.'/'.$entry,$defs,$debug);
			} elseif ($isdir  and $entry!='.' and $entry!='..') {
				file_scan($folder.'/'.$entry,$defs,$debug);
			}
		}
		$d->close();
	}
}
Beispiel #3
0
function file_include($dir, $regx, $options = array())
{
    $files = file_scan($dir, $regx, $options);
    foreach ($files as $f) {
        require_once $f['file'];
    }
    return $files;
}