Table of Contents
CategoriesApiController
Layer: Controller · Source: lib/controller/api/CategoriesApiController.php:30 (lines 30–375)
class CategoriesApiController extends ApiController
Categories API Controller
Handles API requests for categories (topics)
Docblock Metadata
| Tag | Value |
|---|---|
@category | Controller Class |
@author | Blogware Team |
@license | MIT |
@version | 1.0 |
@since | Since Release 1.0 |
Inheritance
| Relation | Type | Meaning |
|---|---|---|
| extends | ''ApiController'' | parent class/interface |
Constants (0)
None.
Properties (4)
| Visibility | Type | Name | Default | Line |
|---|---|---|---|---|
private | (untyped) | $topicDao | 35 | |
private | (untyped) | $topicService | 40 | |
private | (untyped) | $sanitizer | 45 | |
private | (untyped) | $hateoas | 50 |
Methods (8)
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public | __construct() | Constructor | 55 |
| public | index() | Get all categories (public endpoint) | 76 |
| public | show() | Get a single category by ID (public endpoint) | 118 |
| public | posts() | Get posts in a category (public endpoint) | 150 |
| public | store() | Create a new category (requires authentication) | 218 |
| public | update() | Update an existing category (requires authentication) | 268 |
| public | destroy() | Delete a category (requires authentication) | 328 |
| private | generateSlug() | Generate URL-friendly slug | 370 |
__construct()
public function __construct()
lines 55–66 (12)
Constructor
Takes no parameters.
index()
public function index($params = [])
lines 76–108 (33)
Get all categories (public endpoint)
GET /api/v1/categories
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | [] | Query parameters |
Returns: (none declared) — void
show()
public function show($params = [])
lines 118–140 (23)
Get a single category by ID (public endpoint)
GET /api/v1/categories/{id}
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | [] | Route parameters including 'id' |
Returns: (none declared) — void
posts()
public function posts($params = [])
lines 150–208 (59)
Get posts in a category (public endpoint)
GET /api/v1/categories/{id}/posts
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | [] | Route parameters including 'id' |
Returns: (none declared) — void
store()
public function store($_params = [])
lines 218–258 (41)
Create a new category (requires authentication)
POST /api/v1/categories
| Parameter | Type | Default | Description |
|---|---|---|---|
$_params | (untyped) | [] | none |
Returns: (none declared) — void
update()
public function update($params = [])
lines 268–318 (51)
Update an existing category (requires authentication)
PUT /api/v1/categories/{id}
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | [] | Route parameters including 'id' |
Returns: (none declared) — void
destroy()
public function destroy($params = [])
lines 328–360 (33)
Delete a category (requires authentication)
DELETE /api/v1/categories/{id}
| Parameter | Type | Default | Description |
|---|---|---|---|
$params | (untyped) | [] | Route parameters including 'id' |
Returns: (none declared) — void
generateSlug()
private function generateSlug($title)
lines 370–374 (5)
Generate URL-friendly slug
| Parameter | Type | Default | Description |
|---|---|---|---|
$title | (untyped) | required | none |
Returns: (none declared) — string
Imports
| Alias | Fully-qualified name |
|---|---|
ApiController | ''Scriptlog\Controller\ApiController'' |
ApiHateoas | ''Scriptlog\Core\ApiHateoas'' |
ApiResponse | ''Scriptlog\Core\ApiResponse'' |
FormValidator | ''Scriptlog\Core\FormValidator'' |
Sanitize | ''Scriptlog\Core\Sanitize'' |
TopicDao | ''Scriptlog\Dao\TopicDao'' |
PostApiDto | ''Scriptlog\Dto\Api\PostApiDto'' |
TopicApiDto | ''Scriptlog\Dto\Api\TopicApiDto'' |
TopicService | ''Scriptlog\Service\TopicService'' |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
