/** * @param array $entries * @return DirectoryEntries * @throws \InvalidArgumentException */ public static function fromArray($entries) { $cleanEntries = array(); foreach($entries as $entry) { if(!isset($entry['id'], $entry['label'])) { throw new \InvalidArgumentException(DirectoryEntry::MSG_ID_LABEL_MANDATORY); } $cleanEntries[] = $clean = new DirectoryEntry($entry['id'], $entry['label']); isset($entry['obsolete']) ? $clean->setObsolete($entry['obsolete']):null; isset($entry['ordering']) ? $clean->setOrdering($entry['ordering']):null; } return new DirectoryEntries($cleanEntries); }