static function fromArray(array $a_def) { // The array must have a name and class. Or else... if (!isset($a_def['name'])) { throw new exceptions\HttpInternalServerError("Name undefined in dependency definition"); } if (!isset($a_def['class'])) { throw new exceptions\HttpInternalServerError("Class name undefined in dependency definition '" . $a_def['name'] . "'"); } $def = new self(); $def->setName($a_def['name']); $def->setClass($a_def['class']); if (isset($a_def['dependencies'])) { $def->setDependencies($a_def['dependencies']); } if (isset($a_def['mother'])) { $def->setMother($a_def['mother']); } if (isset($a_def['type'])) { $def->setType($a_def['type']); } return $def; }