Esempio n. 1
0
 /**
  * @param string[] $entries
  * @return string[]
  */
 private function writeEntries(array $entries)
 {
     // Build a reference map from the current glossary.
     $map = $this->glossary->buildReferenceMap();
     $current = null;
     $next = null;
     foreach ($this->glossary->getDefinitions() as $definition) {
         if (null === $next) {
             $next = $definition;
             continue;
         }
         /** @var Definition $last */
         $last = $current;
         /** @var Definition $current */
         $current = $next;
         /** @var Definition $next */
         $next = $definition;
         $refs = isset($map[$current->getName()]) ? $map[$current->getName()] : [];
         $entries = $this->writeEntry($entries, $refs, $current, $last, $next);
     }
     $refs = isset($map[$next->getName()]) ? $map[$next->getName()] : [];
     $entries = $this->writeEntry($entries, $refs, $next, $current);
     return $entries;
 }