Table of Contents

ApiHateoas

Layer: Core · Source: lib/core/ApiHateoas.php:20 (lines 20–344)


class ApiHateoas

API HATEOAS Links Generator

Generates Hypermedia as the Engine of Application State (HATEOAS) links for RESTful API responses following RFC 5988 (Web Linking).

Docblock Metadata

Tag Value
@category Core Class
@author Blogware Team
@license MIT
@version 1.0
@since 1.0.0

Inheritance

No parent, interface or trait. This is a root type.

Constants (0)

None.

Properties (2)

Visibility Type Name Default Line
private (untyped) $baseUrl 25
private (untyped) $appUrl 30

Methods (8)

Visibility Method Summary Line
public __construct() Constructor 37
public paginationLinks() Generate HATEOAS links for a paginated collection 53
public postLinks() Generate HATEOAS links for a single post resource 111
public categoryLinks() Generate HATEOAS links for a single category resource 151
public commentLinks() Generate HATEOAS links for a single comment resource 191
public archiveLinks() Generate HATEOAS links for archive resources 225
public rootLinks() Generate HATEOAS root links (API info) 263
private buildUrl() Build a URL with pagination query parameters 334

__construct()

public function __construct($baseUrl = null)

lines 37–41 (5)

Constructor

Parameter Type Default Description
$baseUrl (untyped) null API base URL

paginationLinks()

public function paginationLinks($resource, $currentPage, $perPage, $totalItems, $extraParams = [])

lines 53–102 (50)

Generate HATEOAS links for a paginated collection

Parameter Type Default Description
$resource (untyped) required Resource name (e.g., 'posts', 'categories')
$currentPage (untyped) required Current page number
$perPage (untyped) required Items per page
$totalItems (untyped) required Total number of items
$extraParams (untyped) [] Additional query parameters

Returns: (none declared) — array

postLinks()

public function postLinks($postId, $slug = '')

lines 111–142 (32)

Generate HATEOAS links for a single post resource

Parameter Type Default Description
$postId (untyped) required Post ID
$slug (untyped) '''''' Post slug

Returns: (none declared) — array

categoryLinks()

public function categoryLinks($categoryId, $slug = '')

lines 151–182 (32)

Generate HATEOAS links for a single category resource

Parameter Type Default Description
$categoryId (untyped) required Category ID
$slug (untyped) '''''' Category slug

Returns: (none declared) — array

commentLinks()

public function commentLinks($commentId, $postId = 0)

lines 191–216 (26)

Generate HATEOAS links for a single comment resource

Parameter Type Default Description
$commentId (untyped) required Comment ID
$postId (untyped) 0 Post ID

Returns: (none declared) — array

archiveLinks()

public function archiveLinks($year, $month = null)

lines 225–256 (32)

Generate HATEOAS links for archive resources

Parameter Type Default Description
$year (untyped) required Year
$month (untyped) null Month (optional)

Returns: (none declared) — array

rootLinks()

public function rootLinks()

lines 263–323 (61)

Generate HATEOAS root links (API info)

Takes no parameters.

Returns: (none declared) — array

buildUrl()

private function buildUrl($resource, $page, $perPage, $extraParams = [])

lines 334–343 (10)

Build a URL with pagination query parameters

Parameter Type Default Description
$resource (untyped) required none
$page (untyped) required none
$perPage (untyped) required none
$extraParams (untyped) [] none

Returns: (none declared) — string


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