Updater
in package
implements
IPostUpdater
Post update service.
Updates existing posts and their relationships.
Table of Contents
Interfaces
- IPostUpdater
- Post updater service interface
Properties
- $_categoryRepository : ICategoryRepository
- $_postRepository : IPostRepository
- $_slugGenerator : SlugGenerator
- $_tagResolver : Resolver
Methods
- __construct() : mixed
- update() : Post
- Update an existing post from DTO
- generateSlug() : string
- Generate URL-friendly slug from title
Properties
$_categoryRepository
private
ICategoryRepository
$_categoryRepository
$_postRepository
private
IPostRepository
$_postRepository
$_slugGenerator
private
SlugGenerator
$_slugGenerator
$_tagResolver
private
Resolver
$_tagResolver
Methods
__construct()
public
__construct(IPostRepository $postRepository, ICategoryRepository $categoryRepository, Resolver $tagResolver[, SlugGenerator|null $slugGenerator = null ]) : mixed
Parameters
- $postRepository : IPostRepository
- $categoryRepository : ICategoryRepository
- $tagResolver : Resolver
- $slugGenerator : SlugGenerator|null = null
update()
Update an existing post from DTO
public
update(Dto $request[, array<string|int, mixed> $categoryIds = [] ][, string $tagNames = '' ]) : Post
Parameters
- $request : Dto
-
DTO containing id, title, content, status, slug, excerpt, featured_image
- $categoryIds : array<string|int, mixed> = []
-
Array of category IDs
- $tagNames : string = ''
-
Comma-separated tag names
Tags
Return values
PostgenerateSlug()
Generate URL-friendly slug from title
private
generateSlug(string $title) : string
For titles with only non-ASCII characters (e.g., "你好", "مرحبا"), generates a fallback slug using a unique identifier.
Parameters
- $title : string