Documentation

VocabularyFacade

Vocabulary module facade - main entry point for vocabulary operations.

This class provides a unified API for all vocabulary/term operations, delegating to specific use cases internally.

Tags
since
3.0.0

Table of Contents

Properties

$createTerm  : CreateTerm
$deleteTerm  : DeleteTerm
$getTermById  : GetTermById
$repository  : TermRepositoryInterface
$updateTerm  : UpdateTerm
$updateTermStatus  : UpdateTermStatus

Methods

__construct()  : mixed
Constructor.
advanceStatus()  : bool
Advance a term's status to the next level.
bulkUpdateStatus()  : int
Update status for multiple terms.
countByLanguage()  : int
Count terms by language.
createTerm()  : Term
Create a new term.
createTermFromArray()  : array{id: int, message: string, success: bool, textlc: string, text: string}
Create term from array data (backward compatible).
decreaseStatus()  : bool
Decrease a term's status to the previous level.
deleteTerm()  : bool
Delete a term.
deleteTerms()  : int
Delete multiple terms.
findByText()  : Term|null
Find a term by lowercase text in a language.
findForReview()  : array<string|int, Term>
Find terms for review.
findRecent()  : array<string|int, Term>
Find recently added terms.
getRepository()  : TermRepositoryInterface
Get the underlying repository (for advanced operations).
getStatistics()  : array{total: int, learning: int, known: int, ignored: int, multi_word: int}
Get term statistics.
getTerm()  : Term|null
Get a term by ID.
getTermAsArray()  : array<string|int, mixed>|null
Get term as array (backward compatible).
ignoreTerm()  : bool
Mark a term as ignored.
listTerms()  : Term[], total: int, page: int, per_page: int, total_pages: int}
Get paginated term list.
markAsLearned()  : bool
Mark a term as learned.
markAsWellKnown()  : bool
Mark a term as well-known.
searchTerms()  : array<string|int, Term>
Search terms by text.
termExists()  : bool
Check if a term exists.
updateStatus()  : bool
Update a term's status.
updateTerm()  : Term
Update a term.
updateTermFromArray()  : array{id: int, message: string, success: bool}
Update term from array data (backward compatible).

Properties

Methods

__construct()

Constructor.

public __construct([TermRepositoryInterface|null $repository = null ][, CreateTerm|null $createTerm = null ][, GetTermById|null $getTermById = null ][, UpdateTerm|null $updateTerm = null ][, DeleteTerm|null $deleteTerm = null ][, UpdateTermStatus|null $updateTermStatus = null ]) : mixed
Parameters
$repository : TermRepositoryInterface|null = null

Term repository

$createTerm : CreateTerm|null = null

Create use case

$getTermById : GetTermById|null = null

Get use case

$updateTerm : UpdateTerm|null = null

Update use case

$deleteTerm : DeleteTerm|null = null

Delete use case

$updateTermStatus : UpdateTermStatus|null = null

Status use case

advanceStatus()

Advance a term's status to the next level.

public advanceStatus(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if advanced

bulkUpdateStatus()

Update status for multiple terms.

public bulkUpdateStatus(array<string|int, int> $termIds, int $status) : int
Parameters
$termIds : array<string|int, int>

Term IDs

$status : int

New status

Return values
int

Number updated

countByLanguage()

Count terms by language.

public countByLanguage(int $languageId) : int
Parameters
$languageId : int

Language ID

Return values
int

createTerm()

Create a new term.

public createTerm(int $languageId, string $text[, int $status = 1 ][, string $translation = '' ][, string $sentence = '' ][, string $notes = '' ][, string $romanization = '' ][, int $wordCount = 0 ]) : Term
Parameters
$languageId : int

Language ID

$text : string

Term text

$status : int = 1

Learning status (1-5, 98, 99)

$translation : string = ''

Translation

$sentence : string = ''

Example sentence

$notes : string = ''

Personal notes

$romanization : string = ''

Romanization

$wordCount : int = 0

Word count (0 = auto-calculate)

Tags
throws
InvalidArgumentException

If validation fails

Return values
Term

The created term

createTermFromArray()

Create term from array data (backward compatible).

public createTermFromArray(array<string|int, mixed> $data) : array{id: int, message: string, success: bool, textlc: string, text: string}
Parameters
$data : array<string|int, mixed>

Term data with WoLgID, WoText, WoStatus, etc.

Return values
array{id: int, message: string, success: bool, textlc: string, text: string}

decreaseStatus()

Decrease a term's status to the previous level.

public decreaseStatus(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if decreased

deleteTerm()

Delete a term.

public deleteTerm(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if deleted

deleteTerms()

Delete multiple terms.

public deleteTerms(array<string|int, int> $termIds) : int
Parameters
$termIds : array<string|int, int>

Array of term IDs

Return values
int

Number deleted

findByText()

Find a term by lowercase text in a language.

public findByText(int $languageId, string $textLc) : Term|null
Parameters
$languageId : int

Language ID

$textLc : string

Lowercase text

Return values
Term|null

findForReview()

Find terms for review.

public findForReview([int|null $languageId = null ][, float $scoreThreshold = 0.0 ][, int $limit = 100 ]) : array<string|int, Term>
Parameters
$languageId : int|null = null

Language ID

$scoreThreshold : float = 0.0

Score threshold

$limit : int = 100

Maximum results

Return values
array<string|int, Term>

findRecent()

Find recently added terms.

public findRecent([int|null $languageId = null ][, int $limit = 50 ]) : array<string|int, Term>
Parameters
$languageId : int|null = null

Language ID

$limit : int = 50

Maximum results

Return values
array<string|int, Term>

getStatistics()

Get term statistics.

public getStatistics([int|null $languageId = null ]) : array{total: int, learning: int, known: int, ignored: int, multi_word: int}
Parameters
$languageId : int|null = null

Language ID (null for all)

Return values
array{total: int, learning: int, known: int, ignored: int, multi_word: int}

getTerm()

Get a term by ID.

public getTerm(int $termId) : Term|null
Parameters
$termId : int

Term ID

Return values
Term|null

The term or null if not found

getTermAsArray()

Get term as array (backward compatible).

public getTermAsArray(int $termId) : array<string|int, mixed>|null
Parameters
$termId : int

Term ID

Return values
array<string|int, mixed>|null

Term data array or null

ignoreTerm()

Mark a term as ignored.

public ignoreTerm(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if updated

listTerms()

Get paginated term list.

public listTerms([int $languageId = 0 ][, int $page = 1 ][, int $perPage = 20 ][, string $orderBy = 'WoText' ][, string $direction = 'ASC' ]) : Term[], total: int, page: int, per_page: int, total_pages: int}
Parameters
$languageId : int = 0

Language ID (0 for all)

$page : int = 1

Page number

$perPage : int = 20

Items per page

$orderBy : string = 'WoText'

Column to order by

$direction : string = 'ASC'

Sort direction

Return values
Term[], total: int, page: int, per_page: int, total_pages: int}

markAsLearned()

Mark a term as learned.

public markAsLearned(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if updated

markAsWellKnown()

Mark a term as well-known.

public markAsWellKnown(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

True if updated

searchTerms()

Search terms by text.

public searchTerms(string $query[, int|null $languageId = null ][, int $limit = 50 ]) : array<string|int, Term>
Parameters
$query : string

Search query

$languageId : int|null = null

Language ID

$limit : int = 50

Maximum results

Return values
array<string|int, Term>

termExists()

Check if a term exists.

public termExists(int $termId) : bool
Parameters
$termId : int

Term ID

Return values
bool

updateStatus()

Update a term's status.

public updateStatus(int $termId, int $status) : bool
Parameters
$termId : int

Term ID

$status : int

New status value

Return values
bool

True if updated

updateTerm()

Update a term.

public updateTerm(int $termId[, int|null $status = null ][, string|null $translation = null ][, string|null $sentence = null ][, string|null $notes = null ][, string|null $romanization = null ]) : Term
Parameters
$termId : int

Term ID

$status : int|null = null

New status

$translation : string|null = null

New translation

$sentence : string|null = null

New sentence

$notes : string|null = null

New notes

$romanization : string|null = null

New romanization

Tags
throws
InvalidArgumentException

If term not found

Return values
Term

The updated term

updateTermFromArray()

Update term from array data (backward compatible).

public updateTermFromArray(array<string|int, mixed> $data) : array{id: int, message: string, success: bool}
Parameters
$data : array<string|int, mixed>

Term data array

Return values
array{id: int, message: string, success: bool}

        
On this page

Search results