Creator
in package
implements
ICategoryCreator
Category creation service.
Creates new categories with slug generation.
Table of Contents
Interfaces
- ICategoryCreator
- Category creation service interface
Properties
- $_categoryRepository : ICategoryRepository
- $_eventEmitter : Emitter|null
- $_slugGenerator : SlugGenerator
Methods
- __construct() : mixed
- create() : Category
- Create a new category from DTO
- generateSlug() : string
- Generate URL-friendly slug from name
Properties
$_categoryRepository
private
ICategoryRepository
$_categoryRepository
$_eventEmitter
private
Emitter|null
$_eventEmitter
$_slugGenerator
private
SlugGenerator
$_slugGenerator
Methods
__construct()
public
__construct(ICategoryRepository $categoryRepository[, SlugGenerator|null $slugGenerator = null ][, Emitter|null $eventEmitter = null ]) : mixed
Parameters
- $categoryRepository : ICategoryRepository
- $slugGenerator : SlugGenerator|null = null
- $eventEmitter : Emitter|null = null
create()
Create a new category from DTO
public
create(Dto $request) : Category
Parameters
- $request : Dto
-
DTO containing name, slug, description
Tags
Return values
CategorygenerateSlug()
Generate URL-friendly slug from name
private
generateSlug(string $name) : string
For names with only non-ASCII characters (e.g., "你好", "مرحبا"), generates a fallback slug using a unique identifier.
Parameters
- $name : string