Exemple #1
0
 private function __construct()
 {
     foreach (sgAutoloader::getPaths() as $class => $path) {
         $class = basename($class);
         //ignore the base task class
         if ($class == 'sgTask') {
             continue;
         }
         if (stripos(strrev($class), 'ksaT') === 0) {
             //This is needed because PHP 5.2.x does not support late static binding
             call_user_func(array($class, 'configure'));
             $currentTaskGroup = call_user_func(array($class, 'getTasks'));
             foreach ($currentTaskGroup as $namespace => $taskList) {
                 if (!isset($this->tasks[$namespace])) {
                     $this->tasks[$namespace] = array();
                 }
                 foreach ($taskList as $command => $settings) {
                     if (isset($settings['aliases'])) {
                         foreach ($settings['aliases'] as $alias) {
                             $this->aliases[$namespace] = array($alias => $command);
                         }
                     }
                     $this->tasks[$namespace][$command] = $settings;
                     $this->tasks[$namespace][$command]['class'] = $class;
                 }
             }
         }
     }
 }