public function register(Application $application) { $serviceLocator = $application->getServiceLocator(); // configuration $configuration = $serviceLocator->get('Configuration'); $configuration->merge($this->getConfiguration()); // services foreach ($this->getServices() as $name => $service) { $serviceLocator->set($name, $service); } // routes $routeStack = $serviceLocator->get('Router')->getRouteStack(); foreach ($this->getRoutes() as $routeName => $route) { $routeStack[$routeName] = $route; } // application callbacks foreach ($this->getCallbacks() as $callback) { $application->on($callback[0], $callback[1], isset($callback[2]) ? $callback[2] : 0); } }