/** * 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; }