request = $request; $this->factory_interface = $factory_interface; } public function getFunctions(): array { return [ new TwigFunction( 'parse_browser', [ $this, 'parse_browser' ] ), ]; } /** * @param string $user_agent * * @return string * * @throws DependencyException * @throws NotFoundException */ public function parse_browser( string $user_agent ): string { /** @var Parser $parser */ $parser = $this->factory_interface->make( Parser::class ); $parser->analyse( $user_agent ); return $parser->toString(); } }