bookmarkService ??= new BookmarkService( $this->createBookmarkRepository(), $this->createBookmarkGroupRepository(), $this->createBookmarkNavigationRepository() ); } public function createBookmarkRepository(): BookmarkRepository { return $this->bookmarkRepository ??= new BookmarkRepository(); } public function createBookmarkGroupRepository(): BookmarkGroupRepository { return $this->groupRepository ??= new BookmarkGroupRepository(); } public function createBookmarkNavigationRepository(): BookmarkNavigationRepository { return $this->navigationRepository ??= new BookmarkNavigationRepository(); } }