*/ private iterable $handlers, ) {} /** * @param class-string $className * @param string $field * @return bool */ public function hasHandler(string $className, string $field): bool { foreach ($this->handlers as $handler) { if ($handler->supports($className, $field)) { return true; } } return false; } /** * @param class-string $className * @return array */ public function getSqls(string $className, string $field, Person $from, Person $to): array { foreach ($this->handlers as $handler) { if ($handler->supports($className, $field)) { return $handler->getSqls($className, $field, $from, $to); } } return []; } }