VocabularyApiRouter
in package
implements
ApiRoutableInterface
uses
ApiRoutableTrait
Routes /terms/* API requests to the appropriate vocabulary handler.
This class coordinates 6 vocabulary handlers:
- TermCrudApiHandler: basic CRUD, term details, quick create, full create/update
- WordFamilyApiHandler: word family operations
- MultiWordApiHandler: multi-word expression operations
- WordListApiHandler: paginated list, filtering, bulk actions, inline edit
- TermTranslationApiHandler: translation operations
- TermStatusApiHandler: status changes (increment, set, bulk)
Tags
Table of Contents
Interfaces
- ApiRoutableInterface
- Interface for API handlers that participate in route dispatch.
Properties
- $multiWordHandler : MultiWordApiHandler
- $termHandler : TermCrudApiHandler
- $termStatusHandler : TermStatusApiHandler
- $termTranslationHandler : TermTranslationApiHandler
- $textHandler : TextApiHandler
- $wordFamilyHandler : WordFamilyApiHandler
- $wordListHandler : WordListApiHandler
Methods
- __construct() : mixed
- 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.
- frag() : string
- Extract a fragment from the fragments array.
- routeTermStatusPost() : JsonResponse
- Route POST /terms/{id}/status/* requests.
Properties
$multiWordHandler
private
MultiWordApiHandler
$multiWordHandler
$termHandler
private
TermCrudApiHandler
$termHandler
$termStatusHandler
private
TermStatusApiHandler
$termStatusHandler
$termTranslationHandler
private
TermTranslationApiHandler
$termTranslationHandler
$textHandler
private
TextApiHandler
$textHandler
$wordFamilyHandler
private
WordFamilyApiHandler
$wordFamilyHandler
$wordListHandler
private
WordListApiHandler
$wordListHandler
Methods
__construct()
public
__construct(TermCrudApiHandler $termHandler, WordFamilyApiHandler $wordFamilyHandler, MultiWordApiHandler $multiWordHandler, WordListApiHandler $wordListHandler, TermTranslationApiHandler $termTranslationHandler, TermStatusApiHandler $termStatusHandler, TextApiHandler $textHandler) : mixed
Parameters
- $termHandler : TermCrudApiHandler
- $wordFamilyHandler : WordFamilyApiHandler
- $multiWordHandler : MultiWordApiHandler
- $wordListHandler : WordListApiHandler
- $termTranslationHandler : TermTranslationApiHandler
- $termStatusHandler : TermStatusApiHandler
- $textHandler : TextApiHandler
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
JsonResponserouteGet()
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
JsonResponseroutePost()
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
JsonResponseroutePut()
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
JsonResponsefrag()
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
routeTermStatusPost()
Route POST /terms/{id}/status/* requests.
private
routeTermStatusPost(array<int, string> $fragments, int $termId) : JsonResponse
Parameters
- $fragments : array<int, string>
- $termId : int