KmpHelper
extends Helper
in package
KMP View Helper providing custom UI components and template utilities.
Features: auto-complete controls, block management, data conversion (CSV), boolean display, application settings access, and navigation cell rendering. Available in templates as $this->Kmp->methodName().
Tags
Table of Contents
Properties
- $currentOpenBlock : string
- Tracks the currently open block name.
- $mainView : AppView|null
- Main view reference for block management across view cells.
Methods
- appNav() : string
- Render application navigation using cell.
- autoCompleteControl() : string
- Render auto complete control using element.
- beforeRender() : void
- Run before view rendering.
- bool() : string
- Returns a boolean icon for visual representation of true/false values.
- comboBoxControl() : string
- Render a combo box control with predefined options.
- endBlock() : void
- End the currently open view block.
- getAppSetting() : mixed
- Get application setting from the database configuration.
- getAppSettingsStartWith() : array<string|int, mixed>
- Get application settings that start with a specific key prefix.
- getMixScriptUrl() : string
- Get Mix script URL with versioning for cache busting.
- getMixStyleUrl() : string
- Get Mix style URL with versioning for cache busting.
- getUploadLimits() : array<string|int, mixed>
- Get PHP upload configuration limits in bytes.
- makeCsv() : string
- Convert array data to CSV format for download/export.
- makePossessive() : string
- Return the possessive form of a name.
- startBlock() : string
- Start a named view block for content organization.
- formatBytes() : string
- Format bytes to human-readable string
- parsePhpSize() : int
- Parse PHP size notation to bytes
Properties
$currentOpenBlock
Tracks the currently open block name.
private
static string
$currentOpenBlock
= ''
$mainView
Main view reference for block management across view cells.
private
static AppView|null
$mainView
= null
Methods
appNav()
Render application navigation using cell.
public
appNav(array<string|int, mixed> $appNav, Member $user[, array<string|int, mixed> $navBarState = [] ]) : string
Delegates to AppNavCell for main navigation rendering.
Parameters
- $appNav : array<string|int, mixed>
-
Navigation configuration array
- $user : Member
-
Current authenticated user
- $navBarState : array<string|int, mixed> = []
-
Current navigation state
Return values
string —Rendered navigation HTML
autoCompleteControl()
Render auto complete control using element.
public
autoCompleteControl(mixed $Form, string $inputField, string $resultField, string $url[, string|null $label = null ][, bool $required = false ][, bool $allowOtherValues = false ][, int $minLength = 1 ][, array<string|int, mixed> $additionalAttrs = [] ]) : string
Creates an autocomplete input that loads suggestions from a URL endpoint. Uses Stimulus.js autocomplete controller for JavaScript functionality.
Parameters
- $Form : mixed
-
The CakePHP Form helper instance
- $inputField : string
-
Name of the display input field
- $resultField : string
-
Name of the hidden field for selected value
- $url : string
-
URL endpoint providing autocomplete suggestions (JSON)
- $label : string|null = null
-
Label text for the control
- $required : bool = false
-
Whether the field is required
- $allowOtherValues : bool = false
-
Whether to allow custom values
- $minLength : int = 1
-
Minimum characters before triggering autocomplete
- $additionalAttrs : array<string|int, mixed> = []
-
Additional HTML attributes
Return values
string —Rendered autocomplete control HTML
beforeRender()
Run before view rendering.
public
beforeRender(Event $event) : void
Parameters
- $event : Event
bool()
Returns a boolean icon for visual representation of true/false values.
public
bool(bool $value, HtmlHelper $Html[, array<string|int, mixed> $options = [] ]) : string
Uses Bootstrap icons: green check-circle-fill for true, red x-circle for false.
Parameters
- $value : bool
-
The boolean value to represent
- $Html : HtmlHelper
-
CakePHP HTML helper instance
- $options : array<string|int, mixed> = []
-
Additional HTML attributes for the icon
Return values
string —HTML string containing the Bootstrap icon
comboBoxControl()
Render a combo box control with predefined options.
public
comboBoxControl(mixed $Form, string $inputField, string $resultField, array<string|int, mixed> $data[, string|null $label = null ][, bool $required = false ][, bool $allowOtherValues = false ][, array<string|int, mixed> $additionalAttrs = [] ]) : string
Creates a dropdown with optional custom value entry.
Parameters
- $Form : mixed
-
The CakePHP Form helper instance
- $inputField : string
-
Name of the display input field
- $resultField : string
-
Name of the hidden field for selected value
- $data : array<string|int, mixed>
-
Options array [value => label]
- $label : string|null = null
-
Label text for the control
- $required : bool = false
-
Whether the field is required
- $allowOtherValues : bool = false
-
Whether to allow custom values
- $additionalAttrs : array<string|int, mixed> = []
-
Additional HTML attributes
Return values
string —Rendered combo box HTML
endBlock()
End the currently open view block.
public
endBlock() : void
getAppSetting()
Get application setting from the database configuration.
public
getAppSetting(string $key[, string|null $fallback = null ]) : mixed
Parameters
- $key : string
-
The setting key to retrieve
- $fallback : string|null = null
-
Default value if setting not found
Return values
mixed —The setting value or fallback
getAppSettingsStartWith()
Get application settings that start with a specific key prefix.
public
getAppSettingsStartWith(string $key) : array<string|int, mixed>
Parameters
- $key : string
-
The prefix to search for in setting keys
Return values
array<string|int, mixed> —Array of settings where keys start with the prefix
getMixScriptUrl()
Get Mix script URL with versioning for cache busting.
public
getMixScriptUrl(string $script, mixed $Url) : string
Parameters
- $script : string
-
The script filename/path relative to webroot/js
- $Url : mixed
-
CakePHP URL helper instance
Return values
string —Versioned script URL with hash parameter
getMixStyleUrl()
Get Mix style URL with versioning for cache busting.
public
getMixStyleUrl(string $css, mixed $Url) : string
Parameters
- $css : string
-
The CSS filename/path relative to webroot/css
- $Url : mixed
-
CakePHP URL helper instance
Return values
string —Versioned CSS URL with hash parameter
getUploadLimits()
Get PHP upload configuration limits in bytes.
public
getUploadLimits() : array<string|int, mixed>
Returns the smaller of upload_max_filesize and post_max_size.
Return values
array<string|int, mixed> —Array with 'maxFileSize' in bytes and 'formatted' human-readable string
makeCsv()
Convert array data to CSV format for download/export.
public
makeCsv(array<string|int, mixed> $data) : string
Delegates to StaticHelpers for consistent CSV formatting across the application. Useful for generating CSV exports from view data.
Parameters
- $data : array<string|int, mixed>
-
Array of data to convert to CSV
Tags
Return values
string —CSV formatted string
makePossessive()
Return the possessive form of a name.
public
makePossessive(string $name) : string
Trims input and appends an apostrophe or apostrophe-s depending on whether the name ends with an "s" (case-insensitive).
Parameters
- $name : string
-
Name to convert
Return values
string —Possessive form (empty string for blank input)
startBlock()
Start a named view block for content organization.
public
startBlock(string $block) : string
Parameters
- $block : string
-
Name of the block to start
Return values
string —Current content of the block (if any)
formatBytes()
Format bytes to human-readable string
private
formatBytes(int $bytes[, int $precision = 0 ]) : string
Parameters
- $bytes : int
-
Size in bytes
- $precision : int = 0
-
Decimal precision
Return values
string —Formatted size string (e.g., '25MB', '1.5GB')
parsePhpSize()
Parse PHP size notation to bytes
private
parsePhpSize(string $size) : int
Converts PHP ini size notation (e.g., '25M', '2G', '512K') to bytes. Handles various formats used in php.ini configuration.
Parameters
- $size : string
-
Size string from PHP ini setting
Return values
int —Size in bytes