Files

25 lines
468 B
PHP
Raw Permalink Normal View History

<?php
namespace App\Support\Publishing;
use App\Models\Post;
class PublisherManager
{
/**
* @param array<Publisher> $publishers
*/
public function __construct(private readonly array $publishers) {}
public function resolve(Post $post): ?Publisher
{
foreach ($this->publishers as $publisher) {
if ($publisher->supports($post)) {
return $publisher;
}
}
return null;
}
}