Ejemplo n.º 1
0
 /**
  * Startup tasks allow developers to write intialization strategies and
  * register them in the config. We collection all the strategies and 
  * execute them one at a time, storing the resulting status string in 
  * out static collection of status results.
  *  
  * @return	null
  */
 public function runStartupTasks(MvcRouteDetailInterface $route = null)
 {
     $manager = new StartupManager();
     $tasks = $manager->getTasksFromRegistry();
     if (null === $route) {
         $manager->runTasks($tasks);
         return $this;
     }
     $routeTasks = $route->getStartupTasks();
     if ($route->isIgnoreConfigStartupTasks()) {
         $manager->runTasks($routeTasks);
         return $this;
     }
     if ($route->isExcludedStartupTasks()) {
         $tasks = array_diff($tasks, $route->getExcludedStartupTasks());
     }
     if ($route->isPrependStartupTasks()) {
         $tasks = array_merge($routeTasks, $tasks);
     } else {
         $tasks = array_merge($tasks, $routeTasks);
     }
     $manager->runTasks($tasks);
     return $this;
 }