Documentation

CHtmlResponse extends CResponse
in package

CHtmlResponse Class

Provides HTML output capabilities by extending the core CResponse class. Uses CHtmlView for template rendering and CMenuBuilder for navigation menus.

Tags
category

Response

author

Tufano Pasquale

license

Apache 2.0

link
https://dressapi.com

Table of Contents

Properties

$cache  : ICache|null
$format  : string
$logger  : ILogger|null
$request  : CRequest
$status_code  : int
$user  : CUser|null

Methods

__construct()  : mixed
Constructor
AddMessage()  : void
Return an notify message
ClearMessages()  : void
Clear all messages.
CreateInstance()  : CHtmlResponse
Factory method to create a new CHtmlResponse instance.
GetMessages()  : array<string|int, mixed>
Get all messages for the current request.
GetStatusCode()  : int
Get the HTML status code
Output()  : string
Method output
SetStatusCode()  : void
Set the HTML status code
SetUser()  : void
Set the user object.
AddMessagesOnData()  : void
Add messages to the data array for output.
AsDEBUG()  : string
Encode all data in Text format (for debug)
AsHTML()  : string
Encode all data in HTML format
AsJSON()  : string
Encode all data in JSON format.
AsPLAIN()  : string
Encode all data in CSV/Plain Text format
AsXML()  : string
Encode all data in XML format
CreateComponentRenderer()  : CComponent
Create a configured CComponent instance for API responses.
LoadPaletteCss()  : string
Load the CSS for the requested component palette.
ProcessComponentsInData()  : array<string|int, mixed>|null
Process component tags in data array recursively.
RenderComponentTags()  : string
Render all component tags in a string.
SetHttpHeaders()  : void
Set HTTP headers for the response.

Properties

$format

protected string $format = DEFAULT_FORMAT_OUTPUT

The output format (JSON, XML, HTML, PLAIN)

$status_code

protected int $status_code = self::HTTP_STATUS_OK

The HTTP status code (default: 200 OK)

Methods

__construct()

Constructor

public __construct(CRequest $request, ICache|null $cache[, CUser|null $user = null ][, ILogger|null $logger = null ]) : mixed
Parameters
$request : CRequest

The request object

$cache : ICache|null

The cache manager (required)

$user : CUser|null = null

The user object (optional)

$logger : ILogger|null = null

The logger object (optional)

AddMessage()

Return an notify message

public AddMessage(string $message, MessageType $type) : void
Parameters
$message : string

text of notify

$type : MessageType

ClearMessages()

Clear all messages.

public ClearMessages() : void

CreateInstance()

Factory method to create a new CHtmlResponse instance.

public static CreateInstance(CRequest $request, ICache|null $cache[, CUser|null $user = null ][, ILogger|null $logger = null ]) : CHtmlResponse
Parameters
$request : CRequest

The request object.

$cache : ICache|null

The cache manager.

$user : CUser|null = null

The user object (optional).

$logger : ILogger|null = null

The logger object (optional).

Return values
CHtmlResponse —

A new CHtmlResponse instance.

GetMessages()

Get all messages for the current request.

public GetMessages() : array<string|int, mixed>
Return values
array<string|int, mixed> —

An array of messages.

GetStatusCode()

Get the HTML status code

public GetStatusCode() : int
Return values
int —

the status code

Output()

Method output

public Output(array<string|int, mixed> $result) : string

Return the data results in the required format

Parameters
$result : array<string|int, mixed>

data to tranform

Return values
string —

all data results

SetStatusCode()

Set the HTML status code

public SetStatusCode(int $status_code) : void
Parameters
$status_code : int

SetUser()

Set the user object.

public SetUser([CUser|null $user = null ]) : void
Parameters
$user : CUser|null = null

The user object to set.

AddMessagesOnData()

Add messages to the data array for output.

protected AddMessagesOnData(array<string|int, mixed> &$data) : void

If data is a numeric array (list), wrap it in {elements: [...], messages: [...]} to preserve JSON array format.

Parameters
$data : array<string|int, mixed>

The data array to modify.

AsDEBUG()

Encode all data in Text format (for debug)

protected AsDEBUG(array<string|int, array<string|int, mixed>|string>|null $data) : string
Parameters
$data : array<string|int, array<string|int, mixed>|string>|null

array or object to send to client

Return values
string —

data transformed into text format (for debugging)

AsHTML()

Encode all data in HTML format

protected AsHTML(array<string|int, array<string|int, mixed>|string>|null $data) : string

Generates a complete HTML page using the CHtmlView template system. Handles redirects, menu building, and template rendering.

Parameters
$data : array<string|int, array<string|int, mixed>|string>|null

Array or object to send to client.

Return values
string —

Data transformed into HTML format.

AsJSON()

Encode all data in JSON format.

protected AsJSON(array<string|int, mixed>|null $data) : string

By default, component tags are passed through as-is for client-side interpretation. If the path contains "/rendered/true", components are rendered server-side.

Parameters
$data : array<string|int, mixed>|null

Array to send to client.

Return values
string —

Data transformed into JSON format.

AsPLAIN()

Encode all data in CSV/Plain Text format

protected AsPLAIN(array<string|int, array<string|int, mixed>|string>|null $data) : string
Parameters
$data : array<string|int, array<string|int, mixed>|string>|null

array or object to send to client

Return values
string —

data transformed into text format

AsXML()

Encode all data in XML format

protected AsXML(array<string|int, mixed> $data[, bool $full = true ]) : string
Parameters
$data : array<string|int, mixed>

array or object to send to client

$full : bool = true

if true, it also exposes empty data

Return values
string —

transforms the data into a string containing XML format

CreateComponentRenderer()

Create a configured CComponent instance for API responses.

protected CreateComponentRenderer() : CComponent

Uses CURRENT_VIEW_FOLDER with fallback to DEFAULT_VIEW_FOLDER for framework-agnostic components.

Return values
CComponent —

Configured component renderer.

LoadPaletteCss()

Load the CSS for the requested component palette.

protected LoadPaletteCss() : string

Looks for the palette file in views/default/components/_palettes/. Falls back to the default palette if the requested one doesn't exist.

Return values
string —

CSS content, or empty string if no palette file found.

ProcessComponentsInData()

Process component tags in data array recursively.

protected ProcessComponentsInData(array<string|int, mixed>|null $data, array<string|int, mixed> &$component_assets) : array<string|int, mixed>|null

Scans all string values for tags and renders them to HTML. Accumulates CSS and JS from rendered components.

Parameters
$data : array<string|int, mixed>|null

Data array to process.

$component_assets : array<string|int, mixed>

Accumulated CSS/JS from components.

Return values
array<string|int, mixed>|null —

Processed data with rendered components.

RenderComponentTags()

Render all component tags in a string.

protected RenderComponentTags(string $content, CComponent $renderer, string &$css_accumulator, string &$js_accumulator) : string
Parameters
$content : string

Content with component tags.

$renderer : CComponent

Component renderer instance.

$css_accumulator : string

CSS code accumulator.

$js_accumulator : string

JS code accumulator.

Return values
string —

Content with rendered components.

SetHttpHeaders()

Set HTTP headers for the response.

protected SetHttpHeaders([bool $is_html_page = false ]) : void
Parameters
$is_html_page : bool = false

True if rendering an HTML page, false for API response.


        
On this page

Search results