Table of Contents
ApiController
Layer: Controller · Source: lib/controller/ApiController.php:26 (lines 26–444)
class ApiController
API Base Controller
Base controller for all API controllers Provides common functionality for request handling, validation, and authentication
Docblock Metadata
| Tag | Value |
|---|---|
@category | Controller Class |
@author | Blogware Team |
@license | MIT |
@version | 1.0 |
@since | Since Release 1.0 |
Inheritance
No parent, interface or trait. This is a root type.
Constants (0)
None.
Properties (5)
| Visibility | Type | Name | Default | Line |
|---|---|---|---|---|
protected | (untyped) | $requestData | [] | 31 |
protected | (untyped) | $queryParams | [] | 36 |
protected | (untyped) | $method | 'GET' | 41 |
protected | (untyped) | $headers | [] | 48 |
protected | (untyped) | $requiresAuth | true | 53 |
Methods (16)
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public | __construct() | Constructor | 58 |
| protected | getHeaders() | Get request headers | 84 |
| protected | getRequestData() | Get request data based on HTTP method | 103 |
| protected | validateContentType() | Validate Content-Type for write requests | 152 |
| protected | getJsonBody() | Get JSON body from request | 187 |
| protected | authenticate() | Authenticate the request | 208 |
| protected | isAuthenticated() | Check if user is authenticated | 231 |
| protected | getUser() | Get authenticated user | 243 |
| protected | hasPermission() | Check if user has permission | 254 |
| protected | validateRequired() | Validate required fields | 266 |
| protected | validateEmail() | Validate email format | 288 |
| protected | getAppUrl() | Get application URL from config | 298 |
| protected | sanitize() | Sanitize string input | 309 |
| protected | getPagination() | Get pagination parameters | 324 |
| protected | getSorting() | Get sorting parameters | 344 |
| public | info() | API info endpoint | 370 |
__construct()
public function __construct()
lines 58–77 (20)
Constructor
Takes no parameters.
getHeaders()
protected function getHeaders()
lines 84–96 (13)
Get request headers
Takes no parameters.
Returns: (none declared) — array
getRequestData()
protected function getRequestData()
lines 103–138 (36)
Get request data based on HTTP method
Takes no parameters.
Returns: (none declared) — array
validateContentType()
protected function validateContentType()
lines 152–180 (29)
Validate Content-Type for write requests
Enforces application/json Content-Type for POST, PUT, PATCH, DELETE when a Content-Type header is present and is not a supported form type. Sends 415 Unsupported Media Type response on mismatch.
Override in child controllers (e.g., MediaApiController for uploads) to permit multipart/form-data.
Takes no parameters.
Returns: (none declared) — void
getJsonBody()
protected function getJsonBody()
lines 187–201 (15)
Get JSON body from request
Takes no parameters.
Returns: (none declared) — array|null
authenticate()
protected function authenticate()
lines 208–224 (17)
Authenticate the request
Takes no parameters.
Returns: (none declared) — void
isAuthenticated()
protected function isAuthenticated()
lines 231–234 (4)
Check if user is authenticated
Takes no parameters.
Returns: (none declared) — bool
getUser()
protected function getUser()
lines 243–246 (4)
Get authenticated user
Takes no parameters.
Returns: (none declared) — array|null
hasPermission()
protected function hasPermission($requiredLevels)
lines 254–257 (4)
Check if user has permission
| Parameter | Type | Default | Description |
|---|---|---|---|
$requiredLevels | (untyped) | required | none |
Returns: (none declared) — bool
validateRequired()
protected function validateRequired($data, $required)
lines 266–280 (15)
Validate required fields
| Parameter | Type | Default | Description |
|---|---|---|---|
$data | (untyped) | required | Data to validate |
$required | (untyped) | required | Required fields |
Returns: (none declared) — array|null Validation errors or null if valid
validateEmail()
protected function validateEmail($email)
lines 288–291 (4)
Validate email format
| Parameter | Type | Default | Description |
|---|---|---|---|
$email | (untyped) | required | none |
Returns: (none declared) — bool
getAppUrl()
protected function getAppUrl()
lines 298–301 (4)
Get application URL from config
Takes no parameters.
Returns: (none declared) — string
sanitize()
protected function sanitize($value)
lines 309–316 (8)
Sanitize string input
| Parameter | Type | Default | Description |
|---|---|---|---|
$value | (untyped) | required | none |
Returns: (none declared) — array|string
getPagination()
protected function getPagination($params)
lines 324–335 (12)
Get pagination parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | required | Query parameters |
Returns: (none declared) — array
getSorting()
protected function getSorting($params, $allowedFields = [])
lines 344–361 (18)
Get sorting parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | required | Query parameters |
$allowedFields | (untyped) | [] | Allowed sort fields |
Returns: (none declared) — array
info()
public function info()
lines 370–443 (74)
API info endpoint
Takes no parameters.
Returns: (none declared) — void
Imports
| Alias | Fully-qualified name |
|---|---|
ApiAuth | ''Scriptlog\Core\ApiAuth'' |
ApiHelper | ''Scriptlog\Core\ApiHelper'' |
ApiHateoas | ''Scriptlog\Core\ApiHateoas'' |
ApiResponse | ''Scriptlog\Core\ApiResponse'' |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
