<?php declare(strict_types=1); namespace DesignPatterns\Behavioral\Visitor; class User implements Role { public function __construct(private string $name) { } public function getName(): string { return sprintf('User %s', $this->name); } public function accept(RoleVisitor $visitor) { $visitor->visitUser($this); } }