RestInterface
Base contract for PhalconKit REST controllers.
The interface composes the controller capabilities required by the REST action traits: debug-state checks, event behavior attachment, request parameter filtering, Fractal transformations, and response normalization. Concrete controllers normally extend
- See: \PhalconKit\Mvc\Controller\Rest; this contract is useful for typed decorators, tests, and application base controllers.
- Full name:
\PhalconKit\Mvc\Controller\RestInterface - Parent interfaces:
\PhalconKit\Mvc\Controller\Traits\Interfaces\DebugInterface,\PhalconKit\Mvc\Controller\Traits\Interfaces\BehaviorInterface,\PhalconKit\Mvc\Controller\Traits\Interfaces\ParamsInterface,\PhalconKit\Mvc\Controller\Traits\Interfaces\FractalInterface,\PhalconKit\Mvc\Controller\Traits\Interfaces\RestResponseInterface
Inherited methods
setRestErrorResponse
Set an error response payload and status code.
public setRestErrorResponse(int $code = 400, string $status = 'Bad Request', mixed $response = null): \Phalcon\Http\ResponseInterface
Parameters:
| Parameter | Type | Description |
|---|---|---|
$code | int | HTTP status code. |
$status | string | HTTP status message. |
$response | mixed | Error payload. |
setRestResponse
Set a JSON REST response payload.
public setRestResponse(mixed $response = null, int|null $code = null, string|null $status = null, int $jsonOptions = 0, int $depth = 512): \Phalcon\Http\ResponseInterface
Parameters:
| Parameter | Type | Description |
|---|---|---|
$response | mixed | Response payload. |
$code | int|null | Optional HTTP status code. |
$status | string|null | Optional HTTP status message. |
$jsonOptions | int | JSON encoding flags. |
$depth | int | Maximum JSON encoding depth. |
getFractalManager
Return the current Fractal manager, creating one when needed.
public getFractalManager(): \PhalconKit\Fractal\Manager
setFractalManager
Replace or reset the current Fractal manager.
public setFractalManager(?\PhalconKit\Fractal\Manager $manager): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$manager | ?\PhalconKit\Fractal\Manager |
getFractalSerializer
Return the serializer used by new Fractal managers.
public getFractalSerializer(): \League\Fractal\Serializer\SerializerAbstract
setFractalSerializer
Set the serializer used by new Fractal managers.
public setFractalSerializer(\League\Fractal\Serializer\SerializerAbstract $serializer): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$serializer | \League\Fractal\Serializer\SerializerAbstract |
getTransformer
Return the controller's configured transformer.
public getTransformer(): \League\Fractal\TransformerAbstract
setTransformer
Replace or reset the controller's transformer.
public setTransformer(?\League\Fractal\TransformerAbstract $transformer = null): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$transformer | ?\League\Fractal\TransformerAbstract |
hasTransformer
Determine whether a transformer is currently configured.
public hasTransformer(): bool
transformModel
Transform one Phalcon model.
public transformModel(\Phalcon\Mvc\ModelInterface $model, ?\League\Fractal\TransformerAbstract $transformer = null, ?\PhalconKit\Fractal\Manager $fractalManager = null): array<array-key,mixed>|null
Parameters:
| Parameter | Type | Description |
|---|---|---|
$model | \Phalcon\Mvc\ModelInterface | |
$transformer | ?\League\Fractal\TransformerAbstract | |
$fractalManager | ?\PhalconKit\Fractal\Manager |
transformResultset
Transform a Phalcon model resultset.
public transformResultset(\Phalcon\Mvc\Model\ResultsetInterface $resultset, ?\League\Fractal\TransformerAbstract $transformer = null, ?\PhalconKit\Fractal\Manager $fractalManager = null): array<array-key,mixed>|null
Parameters:
| Parameter | Type | Description |
|---|---|---|
$resultset | \Phalcon\Mvc\Model\ResultsetInterface | |
$transformer | ?\League\Fractal\TransformerAbstract | |
$fractalManager | ?\PhalconKit\Fractal\Manager |
transformItem
Transform one arbitrary item.
public transformItem(mixed $data, ?\League\Fractal\TransformerAbstract $transformer = null, ?\PhalconKit\Fractal\Manager $fractalManager = null): array<array-key,mixed>|null
Parameters:
| Parameter | Type | Description |
|---|---|---|
$data | mixed | |
$transformer | ?\League\Fractal\TransformerAbstract | |
$fractalManager | ?\PhalconKit\Fractal\Manager |
transformCollection
Transform an arbitrary collection.
public transformCollection(mixed $data, ?\League\Fractal\TransformerAbstract $transformer = null, ?\PhalconKit\Fractal\Manager $fractalManager = null): array<array-key,mixed>|null
Parameters:
| Parameter | Type | Description |
|---|---|---|
$data | mixed | |
$transformer | ?\League\Fractal\TransformerAbstract | |
$fractalManager | ?\PhalconKit\Fractal\Manager |
getParam
Return one filtered parameter value.
public getParam(string $key, array|string|null $filters = null, mixed $default = null, array<array-key,mixed>|null $params = null): mixed
Parameters:
| Parameter | Type | Description |
|---|---|---|
$key | string | Parameter key. |
$filters | array|string|null | Filter name(s) to apply. |
$default | mixed | Default value when the key is missing. |
$params | array | Optional parameter source. |
hasParam
Determine whether a parameter exists.
public hasParam(string $key, array<array-key,mixed>|null $params = null, bool $cached = true): bool
Parameters:
| Parameter | Type | Description |
|---|---|---|
$key | string | |
$params | array | Optional parameter source. |
$cached | bool | Whether cached controller parameters may be reused. |
getParams
Return selected filtered controller parameters.
public getParams(list<string>|array<string,array|string>|null $fields = null, bool $cached = true, bool $deep = true): array<array-key,mixed>
Parameters:
| Parameter | Type | Description |
|---|---|---|
$fields | list | Optional |
| field names or field-to-filter map. | ||
$cached | bool | Whether cached controller parameters may be reused. |
$deep | bool | Whether nested parameters should be filtered |
| recursively. |
getAllParams
Return all request parameters after default filters are applied.
public getAllParams(array<string,array|string>|null $filters = null, bool $cached = true, bool $deep = true): array<array-key,mixed>
Parameters:
| Parameter | Type | Description |
|---|---|---|
$filters | array | Optional filter map. |
$cached | bool | Whether cached controller parameters may be reused. |
$deep | bool | Whether nested parameters should be filtered |
| recursively. |
applyFilters
public applyFilters(array<array-key,mixed> $params, array<string,array|string> $filters, bool $deep = true): array<array-key,mixed>
Parameters:
| Parameter | Type | Description |
|---|---|---|
$params | array | |
$filters | array | |
$deep | bool | Whether nested parameters should be filtered |
| recursively. |
setDefaultFilters
Replace default filters applied by getAllParams().
public setDefaultFilters(array<string,array|string> $filters): static
Parameters:
| Parameter | Type | Description |
|---|---|---|
$filters | array |
addDefaultFilters
Merge additional default filters.
public addDefaultFilters(array<string,array|string> $filters): static
Parameters:
| Parameter | Type | Description |
|---|---|---|
$filters | array |
removeFilters
Remove one or more default filters by parameter key.
public removeFilters(string|array<int,string> $keys): static
Parameters:
| Parameter | Type | Description |
|---|---|---|
$keys | string|array |
clearDefaultFilters
Remove all default filters.
public clearDefaultFilters(): static
getDefaultFilters
Return default filters applied by getAllParams().
public getDefaultFilters(): array<string,array|string>
getRawParams
Return unfiltered request parameters.
public getRawParams(bool $cached = true): array<array-key,mixed>
Parameters:
| Parameter | Type | Description |
|---|---|---|
$cached | bool | Whether cached raw parameters may be reused. |
attachBehavior
Attach one behavior listener class.
public attachBehavior(class-string $eventClass, string|null $eventType = null, int|null $priority = null): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$eventClass | class-string | Listener class to instantiate or resolve. |
$eventType | string|null | Event type, usually rest or model. |
$priority | int|null | Optional event-manager priority. |
attachBehaviors
Attach multiple behavior listener definitions.
public attachBehaviors(array<int|string,mixed> $behaviors = [], string|null $eventType = null, int|null $priority = null): void
Parameters:
| Parameter | Type | Description |
|---|---|---|
$behaviors | array | Behavior class names or nested |
| listener definitions. | ||
$eventType | string|null | Default event type for class-name entries. |
$priority | int|null | Optional event-manager priority. |
isDebugEnabled
Determine whether debug output should be enabled for the current request.
public isDebugEnabled(): bool