container = $container; } public function createByClassName() { if (class_exists($className)) { $service = new $className(); $dependencies = $service::dependencies; foreach ($dependencies as $name) { $setMethod = 'set' . ucfirst($name); $service->$setMethod($this->container->get($name)); } return $service; } throw new Error("Class '$className' does not exist"); } }