Class TableHelper
Create a visually pleasing ASCII art table from 2 dimensional array data.
Properties summary
- $_config protected
array
Runtime config
- $_configInitialized protected
bool
Whether the config property has already been configured with defaults
- $_defaultConfig protected
array
Default config for this helper.
- $_io protected
\Cake\Console\ConsoleIo
ConsoleIo instance.
Method Summary
- configShallow() public
Merge provided config with existing config. Unlike
config()
which does a recursive merge for nested keys, this method does a simple merge.
Method Detail
__construct() public
__construct(\Cake\Console\ConsoleIo $io, array $config)
Constructor.
Parameters
-
\Cake\Console\ConsoleIo
$io The ConsoleIo instance to use.
-
array
$config optional The settings for this helper.
_addStyle() protected
_addStyle(mixed $text, mixed $style)
Add style tags
Parameters
-
string
$text The text to be surrounded
-
string
$style The style to be applied
Returns
string
_calculateWidths() protected
_calculateWidths(mixed $rows)
Calculate the column widths
Parameters
-
array
$rows The rows on which the columns width will be calculated on.
Returns
int[]
_cellWidth() protected
_cellWidth(mixed $text)
Get the width of a cell exclusive of style tags.
Parameters
-
string|null
$text The text to calculate a width for.
Returns
int
The width of the textual content in visible characters.
_configDelete() protected
_configDelete(mixed $key)
Deletes a single config key.
Parameters
-
string
$key Key to delete.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
_configRead() protected
_configRead(mixed $key)
Reads a config key.
Parameters
-
string|null
$key Key to read.
Returns
mixed
_configWrite() protected
_configWrite(mixed $key, mixed $value, mixed $merge)
Writes a config key.
Parameters
-
string|array
$key Key to write to.
-
mixed
$value Value to write.
-
bool|string
$merge optional True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
_render() protected
_render(array $row, mixed $widths, mixed $options)
Output a row.
Parameters
-
array
$row The row to output.
-
int[]
$widths The widths of each column to output.
-
array
$options optional Options to be passed.
_rowSeparator() protected
_rowSeparator(mixed $widths)
Output a row separator.
Parameters
-
int[]
$widths The widths of each column to output.
config() public
config(mixed $key, mixed $value, mixed $merge)
Gets/Sets the config.
Usage
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key');
Reading a nested value:
$this->config('some.nested.key');
Setting a specific value:
$this->config('key', $value);
Setting a nested value:
$this->config('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
Parameters
-
string|array|null
$key optional The key to get/set, or a complete array of configs.
-
mixed|null
$value optional The value to set.
-
bool
$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixed
Config value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.
configShallow() public
configShallow(mixed $key, mixed $value)
Merge provided config with existing config. Unlike config()
which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Parameters
-
string|array
$key The key to set, or a complete array of configs.
-
mixed|null
$value optional The value to set.
Returns
$this
getConfig() public
getConfig(mixed $key, mixed $default)
Returns the config.
Usage
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
Reading with default value:
$this->getConfig('some-key', 'default-value');
Parameters
-
string|null
$key optional The key to get or null for the whole config.
-
mixed|null
$default optional The return value when the key does not exist.
Returns
mixed|null
Configuration data at the named key or null if the key does not exist.
getConfigOrFail() public
getConfigOrFail(mixed $key)
Returns the config for this specific key.
The config value for this key must exist, it can never be null.
Parameters
-
string|null
$key The key to get.
Returns
mixed
Configuration data at the named key
Throws
InvalidArgumentException
output() public
output(mixed $rows)
Output a table.
Data will be output based on the order of the values in the array. The keys will not be used to align data.
Parameters
-
array
$rows The data to render out.
setConfig() public
setConfig(mixed $key, mixed $value, mixed $merge)
Sets the config.
Usage
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Parameters
-
string|array
$key The key to set, or a complete array of configs.
-
mixed|null
$value optional The value to set.
-
bool
$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
Returns
$this
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.
Property Detail
$_config protected
Runtime config
Type
array
$_configInitialized protected
Whether the config property has already been configured with defaults
Type
bool
$_defaultConfig protected
Default config for this helper.
Type
array
$_io protected
ConsoleIo instance.
Type
\Cake\Console\ConsoleIo
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.9/class-Cake.Shell.Helper.TableHelper.html