Dump
Dump
Class Dump.
This class extends the Diagnostic class and provides various methods to handle and format debugging information. It supports multiple response formats including JSON, XML, text, and HTML.
- Full name:
\Hazaar\Controller\Dump
- Parent class:
\Hazaar\Controller\Diagnostic
Properties
data
private mixed $data
backtrack
private bool $backtrack
log
private array{time: int, data: mixed}[] $log
Methods
__construct
Constructor.
public __construct(array $data): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$data | array | the data items to be dumped |
toggleBacktrace
Toggles the backtrace functionality.
public toggleBacktrace(bool $value = true): void
Parameters:
Parameter | Type | Description |
---|---|---|
$value | bool | Optional. If true, enables backtrace. If false, disables backtrace. Default is true. |
addLogEntries
Adds log entries to the controller.
public addLogEntries(array{time: int, data: mixed}[] $entries): void
This method accepts an array of log entries and assigns it to the log property.
Parameters:
Parameter | Type | Description |
---|---|---|
$entries | array{time: int, data: mixed}[] | an array of log entries to be added |
json
Generates a JSON response with execution details and data.
public json(array $dump = []): \Hazaar\Controller\Response\JSON
Parameters:
Parameter | Type | Description |
---|---|---|
$dump | array | optional array to include additional data in the response |
Return Value:
JSON response containing execution time, status, end time, data, log, and optionally a backtrace
xmlrpc
This is the default XML response for the dump controller.
public xmlrpc(array $data = []): \Hazaar\Controller\Response\XML
Parameters:
Parameter | Type | Description |
---|---|---|
$data | array | The data to be displayed in the dump |
Return Value:
the XML response object containing the generated XML structure
text
This is the default text response for the dump controller.
public text(array $data = []): \Hazaar\Controller\Response\Text
Parameters:
Parameter | Type | Description |
---|---|---|
$data | array | The data to be displayed in the dump |
Return Value:
the text response object
html
Generates an HTML response with a predefined message.
public html(array $data = []): \Hazaar\Controller\Response\HTML
Parameters:
Parameter | Type | Description |
---|---|---|
$data | array | The data to be displayed in the dump |
Return Value:
the HTML response containing 'NO CONTENT' and the specified status code
getSpeedClass
Determines the speed class based on the execution time.
public static getSpeedClass(float $execTime): string
- This method is static.
Parameters:
Parameter | Type | Description |
---|---|---|
$execTime | float | the execution time in milliseconds |
Return Value:
the speed class, which can be 'excellent', 'good', 'ok', or 'bad'
Inherited methods
__construct
Base controller constructor.
public __construct(?string $name = null): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$name | ?string | The name of the controller. This is the name used when generating URLs. |
__toString
Convert the controller object into a string.
public __toString(): string
__get
Get the specified helper object.
public __get(string $helper): ?\Hazaar\Controller\Helper
Parameters:
Parameter | Type | Description |
---|---|---|
$helper | string | the name of the helper |
initialize
Initializes the controller with the given request and determines the response type.
public initialize(null|\Hazaar\Application\Request $request = null): null|\Hazaar\Controller\Response
This method overrides the parent initialize method to set the response type based on various conditions such as environment variables, the PHP SAPI, and request headers.
Parameters:
Parameter | Type | Description |
---|---|---|
$request | null|\Hazaar\Application\Request | the request object, or null if not available |
Return Value:
the response object, or null if not available
run
Executes the diagnostic run process.
final public run(null|\Hazaar\Application\Route $route = null): \Hazaar\Controller\Response
This method determines the appropriate response type based on the presence of a response type method or the existence of a 'run' method. If neither is found, it defaults to an HTML response. The response is then wrapped in the appropriate Response object if it is not already an instance of Response.
- This method is final.
Parameters:
Parameter | Type | Description |
---|---|---|
$route | null|\Hazaar\Application\Route | the route object, which may be null |
Return Value:
the response object, which can be of type JSON or HTML
runAction
Executes the specified action and returns the response.
public runAction(string $actionName, array $actionArgs = [], bool $namedActionArgs = false): \Hazaar\Controller\Response
Parameters:
Parameter | Type | Description |
---|---|---|
$actionName | string | the name of the action to execute |
$actionArgs | array | the arguments to pass to the action |
$namedActionArgs | bool | whether the action arguments are named |
Return Value:
the response generated by the action
Throws:
if the response is invalid
shutdown
final public shutdown(\Hazaar\Controller\Response $response): void
- This method is final.
Parameters:
Parameter | Type | Description |
---|---|---|
$response | \Hazaar\Controller\Response |
getName
Get the name of the controller.
public getName(): string
setStatus
Set the default return status code.
public setStatus(?int $code = null): void
Parameters:
Parameter | Type | Description |
---|---|---|
$code | ?int |
getStatus
Get the status code of the controller.
public getStatus(): int
getBasePath
Get the base path of the controller.
public getBasePath(): string
setBasePath
Set the base path for the controller.
public setBasePath(string $path): void
Parameters:
Parameter | Type | Description |
---|---|---|
$path | string |
redirect
Generate a redirect response to redirect the browser.
public redirect(string $location, bool $saveURI = false): \Hazaar\Controller\Response\HTTP\Redirect
It's quite common to redirect the user to an alternative URL. This may be to forward the request to another website, forward them to an authentication page or even just remove processed request parameters from the URL to neaten the URL up.
Parameters:
Parameter | Type | Description |
---|---|---|
$location | string | The URI you want to redirect to |
$saveURI | bool | Optionally save the URI so we can redirect back. See: Hazaar\Application::redirectBack() |
redirectBack
Redirect back to a URI saved during redirection.
public redirectBack(?string $altURL = null): false|\Hazaar\Controller\Response\HTTP\Redirect
This mechanism is used with the $saveURI parameter of Hazaar\Application::redirect()
so save the current URI into the session so that once we're done processing the request somewhere else we can come back to where we were. This is useful for when a user requests a page but isn't authenticated, we can redirect them to a login page and then that page can call this Hazaar\Application::redirectBack()
method to redirect the user back to the page they were originally looking for.
Parameters:
Parameter | Type | Description |
---|---|---|
$altURL | ?string |
getURL
Generate a URL relative to the controller.
public getURL(): \Hazaar\Application\URL
This is the controller relative method for generating URLs in your application. URLs generated from here are relative to the controller. For URLs that are relative to the current application see Hazaar\Application::url()
.
Parameters are dynamic and depend on what you are trying to generate.
For examples see: Generating URLs
addHelper
Add a helper to the controller.
public addHelper((\Hazaar\Controller\Helper|string)[]|\Hazaar\Controller\Helper|string $helper, array $args = [], string $alias = null): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$helper | (\Hazaar\Controller\Helper|string)[]|\Hazaar\Controller\Helper|string | The helper to add to the controller. This can be a helper object, a helper class name or an array of helpers. |
$args | array | an array of arguments to pass to the helper constructor |
$alias | string | The alias to use for the helper. If not provided, the helper name will be used. |
hasHelper
Checks if a helper exists.
public hasHelper(string $helper): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$helper | string | the name of the helper to check |
cacheAction
public cacheAction(string $actionName, int $timeout = 60, bool $private = false): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$actionName | string | |
$timeout | int | |
$private | bool |
findHelper
Find a helper class by name.
private findHelper(string $name): ?string
This method searches for view helper classes based on the given name. The search order is important because it allows apps to override built-in helpers.
Parameters:
Parameter | Type | Description |
---|---|---|
$name | string | the name of the helper class to find |
getCacheKey
Get the cache key for the current action.
private getCacheKey(string $controller, string $action, array $actionArgs = null, null|string& $cacheName = null): false|string
Parameters:
Parameter | Type | Description |
---|---|---|
$controller | string | the controller name |
$action | string | the action name |
$actionArgs | array | the action arguments |
$cacheName | null|string | the cache name |
cacheResponse
private cacheResponse(\Hazaar\Application\Route $route, \Hazaar\Controller\Response $response): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$route | \Hazaar\Application\Route | |
$response | \Hazaar\Controller\Response |
getCachedResponse
private getCachedResponse(\Hazaar\Application\Route $route): ?\Hazaar\Controller\Response
Parameters:
Parameter | Type | Description |
---|---|---|
$route | \Hazaar\Application\Route |
stream
Sends a stream response to the client.
public stream(array|string $value): bool
This method sends a stream response to the client, allowing the client to download the response as a file. It sets the necessary headers for the response and flushes the output buffer to ensure the response is sent immediately.
Parameters:
Parameter | Type | Description |
---|---|---|
$value | array|string | The value to be streamed. If an array is provided, it will be converted to a JSON string before streaming. |
Return Value:
returns true if the stream response was successfully sent, false otherwise
init
protected init(\Hazaar\Application\Request $request): void
Parameters:
Parameter | Type | Description |
---|---|---|
$request | \Hazaar\Application\Request |
initResponse
protected initResponse(\Hazaar\Application\Request $request): ?\Hazaar\Controller\Response
Parameters:
Parameter | Type | Description |
---|---|---|
$request | \Hazaar\Application\Request |
registerMethod
Registers a new method with the given name and callback.
public registerMethod(string $name, callable $callback): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$name | string | the name of the method to register |
$callback | callable | the callback function to associate with the method |
Return Value:
returns true if the method was successfully registered
Throws:
if a method with the given name already exists
view
Loads a view.
protected view(string $view): void
Parameters:
Parameter | Type | Description |
---|---|---|
$view | string | the name of the view to load |
layout
Sets the layout view for the current controller.
protected layout(string $view): void
This method sets the layout view that will be used to render the response.
Parameters:
Parameter | Type | Description |
---|---|---|
$view | string | the name of the layout view to be used |
setCaller
public setCaller(array $caller): void
Parameters:
Parameter | Type | Description |
---|---|---|
$caller | array |
json
Returns a JSON response with an error message.
public json(): \Hazaar\Controller\Response\JSON
Return Value:
the JSON response containing the error message
xmlrpc
Generates an XML-RPC response.
public xmlrpc(): \Hazaar\Controller\Response\XML
This method creates a SimpleXMLElement with a root element xml
and adds a child element data
with the content 'NO CONTENT'. It then returns this XML structure wrapped in a Response\XML object.
Return Value:
the XML response object containing the generated XML structure
html
Generates an HTML response with a predefined message.
public html(): \Hazaar\Controller\Response\HTML
Return Value:
the HTML response containing 'NO CONTENT' and the specified status code
text
Returns a text response with the content 'NO CONTENT' and the specified status code.
public text(): \Hazaar\Controller\Response\Text
Return Value:
the text response object
hazaar
Outputs a diagnostic dump and terminates the script.
public hazaar(): void
This method sets the HTTP response code to the value of the $code
property, outputs a diagnostic message, dumps a placeholder string 'NO CONTENT', prints a backtrace, and then exits the script.
Automatically generated on 2024-11-14