blabla
unknown
php
4 years ago
792 B
15
Indexable
<?php interface CalendarStrategy { public function support(string $type): bool; public function create(): ModuleFindStrategy; } final class ModuleFindStrategyFactory { public function __construct(private CalendarStrategy ...$strategies) {} public function create(object $module): ModuleFindStrategy { foreach($this->strategies as $strategyFactory) { if ($strategyFactory->support($module->type) { return $strategyFactory->create(); } } return new EmptyFindStrategy(); } } final class SimpleCalendarStrategy implements CalendarStrategy { public function support(string $type): bool { return 'Calendar' === $type; } public function create(): ModuleFindStrategy { // } }
Editor is loading...