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


This page is generated from source by 'tools/gendoc'. Edits will be overwritten.