====== CommentsApiController ======
**Layer:** ''Controller'' · **Source:** ''lib/controller/api/CommentsApiController.php:29'' (lines 29–373)
----
class CommentsApiController extends ApiController
Comments API Controller
Handles API requests for comments
======= 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 (4) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$commentDao'' | | 34 |
| ''private'' | ''(untyped)'' | ''$commentService'' | | 39 |
| ''private'' | ''(untyped)'' | ''$sanitizer'' | | 44 |
| ''private'' | ''(untyped)'' | ''$hateoas'' | | 49 |
======= Methods (7) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 54 |
| public | ''index()'' | Get all approved comments (public endpoint) | 75 |
| public | ''show()'' | Get a single comment by ID (public endpoint) | 130 |
| public | ''store()'' | Create a new comment (public endpoint - for visitors) | 172 |
| public | ''update()'' | Update a comment (requires authentication) | 247 |
| public | ''destroy()'' | Delete a comment (requires authentication) | 312 |
| private | ''getClientIp()'' | Get client IP address | 353 |
======== __construct() ========
public function __construct()
//lines 54–65 (12)//
Constructor
//Takes no parameters.//
======== index() ========
public function index($params = [])
//lines 75–120 (46)//
Get all approved comments (public endpoint)
GET /api/v1/comments
^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Query parameters |
**Returns:** ''(none declared)'' — void
======== show() ========
public function show($params = [])
//lines 130–162 (33)//
Get a single comment by ID (public endpoint)
GET /api/v1/comments/{id}
^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |
**Returns:** ''(none declared)'' — void
======== store() ========
public function store($_params = [])
//lines 172–237 (66)//
Create a new comment (public endpoint - for visitors)
POST /api/v1/comments
^ Parameter ^ Type ^ Default ^ Description ^
| ''$_params'' | ''(untyped)'' | ''[]'' | //none// |
**Returns:** ''(none declared)'' — void
======== update() ========
public function update($params = [])
//lines 247–302 (56)//
Update a comment (requires authentication)
PUT /api/v1/comments/{id}
^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |
**Returns:** ''(none declared)'' — void
======== destroy() ========
public function destroy($params = [])
//lines 312–344 (33)//
Delete a comment (requires authentication)
DELETE /api/v1/comments/{id}
^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |
**Returns:** ''(none declared)'' — void
======== getClientIp() ========
private function getClientIp()
//lines 353–372 (20)//
Get client IP address
//Takes no parameters.//
**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'']] |
| ''CommentDao'' | [[scriptlog:lib:dao:commentdao|''Scriptlog\Dao\CommentDao'']] |
| ''CommentApiDto'' | [[scriptlog:lib:dto:commentapidto|''Scriptlog\Dto\Api\CommentApiDto'']] |
| ''CommentService'' | [[scriptlog:lib:service:commentservice|''Scriptlog\Service\CommentService'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//