/** * @param string $templateName * @param string $placeholder * @param bool $autoIncrement * * @return string */ public function generateGlossaryKeyName($templateName, $placeholder, $autoIncrement = true) { $keyName = self::GENERATED_GLOSSARY_KEY_PREFIX . '.'; $keyName .= str_replace([' ', '.'], '-', $templateName) . '.'; $keyName .= str_replace([' ', '.'], '-', $placeholder); $index = 0; $candidate = $keyName . $index; while ($this->glossaryFacade->hasKey($candidate) && $autoIncrement === true) { $candidate = $keyName . ++$index; } return $candidate; }