This is an old revision of the document!
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 | [[scriptlog:lib:controller:apicontroller|''ApiController'']] | parent class/interface |
Constants (0)
None.
Properties (0)
None declared.
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:lib:controller:apicontroller|''Scriptlog\Controller\ApiController'']] | | ''ApiHateoas'' | [[scriptlog:lib:core:apihateoas|''Scriptlog\Core\ApiHateoas'']] | | ''ApiResponse'' | [[scriptlog:lib:core:apiresponse|''Scriptlog\Core\ApiResponse'']] | | ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] | | ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] | | ''TopicDao'' | [[scriptlog:lib:dao:topicdao|''Scriptlog\Dao\TopicDao'']] | | ''PostApiDto'' | [[scriptlog:lib:dto:postapidto|''Scriptlog\Dto\Api\PostApiDto'']] | | ''TopicApiDto'' | [[scriptlog:lib:dto:topicapidto|''Scriptlog\Dto\Api\TopicApiDto'']] | | ''TopicService'' | [[scriptlog:lib:service:topicservice|''Scriptlog\Service\TopicService'']] |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
