entityURLGenerator = $entityURLGenerator; } public function getFilters() { return [ new TwigFilter('entityURL', [$this, 'generateEntityURL']) ]; } public function generateEntityURL(DBElement $entity, string $method = 'info') : string { switch($method) { case 'info': return $this->entityURLGenerator->infoURL($entity); case 'edit': return $this->entityURLGenerator->editURL($entity); case 'create': return $this->entityURLGenerator->createURL($entity); } throw new \InvalidArgumentException('method is not supported!'); } }