VocabularyFacade
in package
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
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
$createTerm
private
CreateTerm
$createTerm
$deleteTerm
private
DeleteTerm
$deleteTerm
$getTermById
private
GetTermById
$getTermById
$repository
private
TermRepositoryInterface
$repository
$updateTerm
private
UpdateTerm
$updateTerm
$updateTermStatus
private
UpdateTermStatus
$updateTermStatus
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
intcreateTerm()
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
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|nullfindForReview()
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>getRepository()
Get the underlying repository (for advanced operations).
public
getRepository() : TermRepositoryInterface
Return values
TermRepositoryInterfacegetStatistics()
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
boolupdateStatus()
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
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