. */ namespace App\Services\LabelSystem\PlaceholderProviders; use App\Entity\Base\AbstractDBElement; use App\Entity\Base\AbstractStructuralDBElement; class StructuralDBElementProvider implements PlaceholderProviderInterface { public function replace(string $placeholder, object $label_target, array $options = []): ?string { if ($label_target instanceof AbstractStructuralDBElement) { if ($placeholder === '[[COMMENT]]') { return $label_target->getComment(); } if ($placeholder === '[[COMMENT_T]]') { return strip_tags($label_target->getComment()); } if ($placeholder === '[[FULL_PATH]]') { return $label_target->getFullPath(); } if ($placeholder === '[[PARENT]]') { return $label_target->getParent() ? $label_target->getParent()->getName() : ''; } if ($placeholder === '[[PARENT_FULL_PATH]]') { return $label_target->getParent() ? $label_target->getParent()->getFullPath() : ''; } } return null; } }