Files
breadcrumb-the-shire/modules/bookmarks/lib/Module/Bookmarks/Service/BookmarkRepositoryFactory.php

33 lines
1.2 KiB
PHP
Raw Normal View History

2026-03-14 21:45:58 +01:00
<?php
namespace MintyPHP\Module\Bookmarks\Service;
2026-03-14 21:45:58 +01:00
use MintyPHP\Module\Bookmarks\Repository\BookmarkGroupRepository;
use MintyPHP\Module\Bookmarks\Repository\BookmarkGroupRepositoryInterface;
use MintyPHP\Module\Bookmarks\Repository\BookmarkNavigationRepository;
use MintyPHP\Module\Bookmarks\Repository\BookmarkNavigationRepositoryInterface;
use MintyPHP\Module\Bookmarks\Repository\BookmarkRepository;
use MintyPHP\Module\Bookmarks\Repository\BookmarkRepositoryInterface;
2026-03-14 21:45:58 +01:00
class BookmarkRepositoryFactory
2026-03-14 21:45:58 +01:00
{
private ?BookmarkRepository $bookmarkRepository = null;
private ?BookmarkGroupRepository $groupRepository = null;
private ?BookmarkNavigationRepository $navigationRepository = null;
public function createBookmarkRepository(): BookmarkRepositoryInterface
2026-03-14 21:45:58 +01:00
{
return $this->bookmarkRepository ??= new BookmarkRepository();
}
public function createBookmarkGroupRepository(): BookmarkGroupRepositoryInterface
2026-03-14 21:45:58 +01:00
{
return $this->groupRepository ??= new BookmarkGroupRepository();
}
public function createBookmarkNavigationRepository(): BookmarkNavigationRepositoryInterface
2026-03-14 21:45:58 +01:00
{
return $this->navigationRepository ??= new BookmarkNavigationRepository();
}
}