Documentation

DictionaryApiHandler
in package
implements ApiRoutableInterface uses ApiRoutableTrait

API handler for dictionary operations.

Provides endpoints for:

  • Listing dictionaries for a language
  • Creating and deleting dictionaries
  • Importing dictionary entries from files
  • Looking up terms
Tags
since
3.0.0

Table of Contents

Interfaces

ApiRoutableInterface
Interface for API handlers that participate in route dispatch.

Properties

$dictService  : LocalDictionaryService
$facade  : DictionaryFacade

Methods

__construct()  : mixed
Create a new DictionaryApiHandler.
addEntry()  : array{success: bool, entry_id?: int, error?: string}
Add a single entry to a dictionary.
clearEntries()  : array{success: bool, deleted?: int, error?: string}
Clear all entries from a dictionary (for re-import).
createDictionary()  : array{success: bool, dictionary?: array, error?: string}
Create a new dictionary.
deleteDictionary()  : array{success: bool, error?: string}
Delete a dictionary.
deleteEntry()  : array{success: bool, error?: string}
Delete an entry.
formatAddEntry()  : array<string|int, mixed>
Format response for adding an entry.
formatClearEntries()  : array<string|int, mixed>
Format response for clearing entries.
formatCreateDictionary()  : array<string|int, mixed>
Format response for creating a dictionary.
formatDeleteDictionary()  : array<string|int, mixed>
Format response for deleting a dictionary.
formatGetDictionaries()  : array<string|int, mixed>
Format response for getting dictionaries.
formatGetDictionary()  : array<string|int, mixed>
Format response for getting a single dictionary.
formatGetEntries()  : array<string|int, mixed>
Format response for getting entries.
formatImport()  : array<string|int, mixed>
Format response for import.
formatLookup()  : array<string|int, mixed>
Format response for term lookup.
formatPreview()  : array<string|int, mixed>
Format response for preview.
formatUpdateDictionary()  : array<string|int, mixed>
Format response for updating a dictionary.
getDictionaries()  : array{dictionaries: array, mode: int}
Get all dictionaries for a language.
getDictionary()  : array<string|int, mixed>
Get a single dictionary by ID.
getEntries()  : array{entries?: array, pagination?: array, error?: string}
Get entries for a dictionary (paginated).
importFile()  : array{success: bool, imported?: int, error?: string}
Import entries into a dictionary from uploaded file.
lookup()  : array{results: array, mode: int}
Look up a term in local dictionaries.
lookupPrefix()  : array{results: array}
Look up terms with prefix matching (autocomplete).
previewFile()  : array{success: bool, entries?: array, structure?: array, error?: string}
Preview entries from a file before import.
routeDelete()  : JsonResponse
Handle a DELETE request for this resource.
routeGet()  : JsonResponse
Handle a GET request for this resource.
routePost()  : JsonResponse
Handle a POST request for this resource.
routePut()  : JsonResponse
Handle a PUT request for this resource.
updateDictionary()  : array{success: bool, dictionary?: array, error?: string}
Update a dictionary.
updateEntry()  : array{success: bool, error?: string}
Update an entry.
frag()  : string
Extract a fragment from the fragments array.
formatDictionary()  : array<string|int, mixed>
Format a LocalDictionary entity for API response.

Properties

Methods

addEntry()

Add a single entry to a dictionary.

public addEntry(int $dictId, array<string|int, mixed> $data) : array{success: bool, entry_id?: int, error?: string}
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Entry data:

  • term: string (required)
  • definition: string (required)
  • reading: string (optional)
  • pos: string (optional)
Return values
array{success: bool, entry_id?: int, error?: string}

clearEntries()

Clear all entries from a dictionary (for re-import).

public clearEntries(int $dictId) : array{success: bool, deleted?: int, error?: string}
Parameters
$dictId : int

Dictionary ID

Return values
array{success: bool, deleted?: int, error?: string}

createDictionary()

Create a new dictionary.

public createDictionary(array<string|int, mixed> $data) : array{success: bool, dictionary?: array, error?: string}
Parameters
$data : array<string|int, mixed>

Dictionary data:

  • language_id: int (required)
  • name: string (required)
  • description: string (optional)
  • source_format: string (optional, default: 'csv')
Return values
array{success: bool, dictionary?: array, error?: string}

deleteDictionary()

Delete a dictionary.

public deleteDictionary(int $dictId) : array{success: bool, error?: string}
Parameters
$dictId : int

Dictionary ID

Return values
array{success: bool, error?: string}

deleteEntry()

Delete an entry.

public deleteEntry(int $entryId) : array{success: bool, error?: string}
Parameters
$entryId : int

Entry ID

Return values
array{success: bool, error?: string}

formatAddEntry()

Format response for adding an entry.

public formatAddEntry(int $dictId, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Entry data

Return values
array<string|int, mixed>

formatClearEntries()

Format response for clearing entries.

public formatClearEntries(int $dictId) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

Return values
array<string|int, mixed>

formatCreateDictionary()

Format response for creating a dictionary.

public formatCreateDictionary(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

Dictionary data

Return values
array<string|int, mixed>

formatDeleteDictionary()

Format response for deleting a dictionary.

public formatDeleteDictionary(int $dictId) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

Return values
array<string|int, mixed>

formatGetDictionaries()

Format response for getting dictionaries.

public formatGetDictionaries(int $langId) : array<string|int, mixed>
Parameters
$langId : int

Language ID

Return values
array<string|int, mixed>

formatGetDictionary()

Format response for getting a single dictionary.

public formatGetDictionary(int $dictId) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

Return values
array<string|int, mixed>

formatGetEntries()

Format response for getting entries.

public formatGetEntries(int $dictId, array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

$params : array<string|int, mixed>

Pagination params

Return values
array<string|int, mixed>

formatImport()

Format response for import.

public formatImport(int $dictId, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Import data

Return values
array<string|int, mixed>

formatLookup()

Format response for term lookup.

public formatLookup(int $langId, string $term) : array<string|int, mixed>
Parameters
$langId : int

Language ID

$term : string

Term to look up

Return values
array<string|int, mixed>

formatPreview()

Format response for preview.

public formatPreview(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

Preview data

Return values
array<string|int, mixed>

formatUpdateDictionary()

Format response for updating a dictionary.

public formatUpdateDictionary(int $dictId, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Dictionary data

Return values
array<string|int, mixed>

getDictionaries()

Get all dictionaries for a language.

public getDictionaries(int $langId) : array{dictionaries: array, mode: int}
Parameters
$langId : int

Language ID

Return values
array{dictionaries: array, mode: int}

getDictionary()

Get a single dictionary by ID.

public getDictionary(int $dictId) : array<string|int, mixed>
Parameters
$dictId : int

Dictionary ID

Return values
array<string|int, mixed>

Dictionary data or error

getEntries()

Get entries for a dictionary (paginated).

public getEntries(int $dictId[, array<string|int, mixed> $params = [] ]) : array{entries?: array, pagination?: array, error?: string}
Parameters
$dictId : int

Dictionary ID

$params : array<string|int, mixed> = []

Pagination params:

  • page: int (default: 1)
  • per_page: int (default: 50)
Return values
array{entries?: array, pagination?: array, error?: string}

importFile()

Import entries into a dictionary from uploaded file.

public importFile(int $dictId, array<string|int, mixed> $data) : array{success: bool, imported?: int, error?: string}
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Import data:

  • file_path: string (temporary file path)
  • format: string (csv, json, stardict)
  • options: array (format-specific options)
Return values
array{success: bool, imported?: int, error?: string}

lookup()

Look up a term in local dictionaries.

public lookup(int $langId, string $term) : array{results: array, mode: int}
Parameters
$langId : int

Language ID

$term : string

Term to look up

Return values
array{results: array, mode: int}

lookupPrefix()

Look up terms with prefix matching (autocomplete).

public lookupPrefix(int $langId, string $prefix[, int $limit = 10 ]) : array{results: array}
Parameters
$langId : int

Language ID

$prefix : string

Term prefix

$limit : int = 10

Max results

Return values
array{results: array}

previewFile()

Preview entries from a file before import.

public previewFile(array<string|int, mixed> $data) : array{success: bool, entries?: array, structure?: array, error?: string}
Parameters
$data : array<string|int, mixed>

Preview data:

  • file_path: string
  • format: string
  • limit: int (default: 10)
  • options: array
Return values
array{success: bool, entries?: array, structure?: array, error?: string}

routeDelete()

Handle a DELETE request for this resource.

public routeDelete(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

Query/body parameters

Return values
JsonResponse

routeGet()

Handle a GET request for this resource.

public routeGet(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

Query parameters

Return values
JsonResponse

routePost()

Handle a POST request for this resource.

public routePost(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

POST/JSON body parameters

Return values
JsonResponse

routePut()

Handle a PUT request for this resource.

public routePut(array<string|int, mixed> $fragments, array<string|int, mixed> $params) : JsonResponse
Parameters
$fragments : array<string|int, mixed>

URL path segments (resource name already consumed)

$params : array<string|int, mixed>

JSON body parameters

Return values
JsonResponse

updateDictionary()

Update a dictionary.

public updateDictionary(int $dictId, array<string|int, mixed> $data) : array{success: bool, dictionary?: array, error?: string}
Parameters
$dictId : int

Dictionary ID

$data : array<string|int, mixed>

Dictionary data

Return values
array{success: bool, dictionary?: array, error?: string}

updateEntry()

Update an entry.

public updateEntry(int $entryId, array<string|int, mixed> $data) : array{success: bool, error?: string}
Parameters
$entryId : int

Entry ID

$data : array<string|int, mixed>

Entry data

Return values
array{success: bool, error?: string}

frag()

Extract a fragment from the fragments array.

protected frag(array<int, string> $fragments, int $index) : string
Parameters
$fragments : array<int, string>

The URL path fragments

$index : int

The index to extract

Return values
string

The fragment at the index, or empty string if not present

formatDictionary()

Format a LocalDictionary entity for API response.

private formatDictionary(LocalDictionary $dictionary) : array<string|int, mixed>
Parameters
$dictionary : LocalDictionary

Dictionary entity

Return values
array<string|int, mixed>

Formatted dictionary data


        
On this page

Search results