类 TableHelper
从二维数组数据创建视觉上令人愉悦的 ASCII 艺术表格。
属性摘要
-
$_config protected
array<string, mixed>
运行时配置
-
$_configInitialized protected
bool
配置属性是否已使用默认值配置
-
$_defaultConfig protected
array<string, mixed>
此帮助器的默认配置。
-
$_io protected
Cake\Console\ConsoleIo
ConsoleIo 实例。
方法摘要
-
__construct() public
构造函数。
-
_addStyle() protected
添加样式标签
-
_calculateWidths() protected
计算列宽
-
_cellWidth() protected
获取单元格的宽度,不包括样式标签。
-
_configDelete() protected
删除单个配置键。
-
_configRead() protected
读取配置键。
-
_configWrite() protected
写入配置键。
-
_render() protected
输出一行。
-
_rowSeparator() protected
输出行分隔符。
-
configShallow() public
将提供的配置与现有配置合并。与 `config()` 不同,`config()` 对嵌套键进行递归合并,此方法进行简单合并。
-
getConfig() public
返回配置。
-
getConfigOrFail() public
返回此特定键的配置。
-
output() public
输出表格。
-
setConfig() public
设置配置。
方法详情
__construct() ¶ public
__construct(Cake\Console\ConsoleIo $io, array<string, mixed> $config = [])
构造函数。
参数
-
Cake\Console\ConsoleIo
$io 要使用的 ConsoleIo 实例。
-
array<string, mixed>
$config optional 此帮助器的设置。
_addStyle() ¶ protected
_addStyle(string $text, string $style): string
添加样式标签
参数
-
string
$text 要包围的文本
-
string
$style 要应用的样式
返回值
string
_calculateWidths() ¶ protected
_calculateWidths(array $rows): array<int>
计算列宽
参数
-
array
$rows 将根据其计算列宽的行。
返回值
array<int>
_cellWidth() ¶ protected
_cellWidth(string $text): int
获取单元格的宽度,不包括样式标签。
参数
-
string
$text 要计算宽度的文本。
返回值
int
_configDelete() ¶ protected
_configDelete(string $key): void
删除单个配置键。
参数
-
string
$key 要删除的键。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_configRead() ¶ protected
_configRead(string|null $key): mixed
读取配置键。
参数
-
string|null
$key 要读取的键。
返回值
mixed
_configWrite() ¶ protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
写入配置键。
参数
-
array<string, mixed>|string
$key 要写入的键。
-
mixed
$value 要写入的值。
-
string|bool
$merge optional True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认为 false。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_render() ¶ protected
_render(array $row, array<int> $widths, array<string, mixed> $options = []): void
输出一行。
参数
-
array
$row 要输出的行。
-
array<int>
$widths 要输出的每列的宽度。
-
array<string, mixed>
$options optional 要传递的选项。
返回值
void
_rowSeparator() ¶ protected
_rowSeparator(array<int> $widths): void
输出行分隔符。
参数
-
array<int>
$widths 要输出的每列的宽度。
返回值
void
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
将提供的配置与现有配置合并。与 `config()` 不同,`config()` 对嵌套键进行递归合并,此方法进行简单合并。
设置特定值
$this->configShallow('key', $value);
设置嵌套值
$this->configShallow('some.nested.key', $value);
同时更新多个配置设置
$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或配置的完整数组。
-
mixed|null
$value optional 要设置的值。
返回值
$this
getConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixed
返回配置。
用法
读取整个配置
$this->getConfig();
读取特定值
$this->getConfig('key');
读取嵌套值
$this->getConfig('some.nested.key');
使用默认值读取
$this->getConfig('some-key', 'default-value');
参数
-
string|null
$key optional 要获取的键,或整个配置的 null。
-
mixed
$default optional 键不存在时的返回值。
返回值
mixed
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
返回此特定键的配置。
此键的配置值必须存在,不能为 null。
参数
-
string
$key 要获取的键。
返回值
mixed
抛出
InvalidArgumentException
output() ¶ public
output(array $args): void
输出表格。
数据将根据数组中值的顺序输出。键不会用于对齐数据。
参数
-
array
$args 要渲染出的数据。
返回值
void
setConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
设置配置。
用法
设置特定值
$this->setConfig('key', $value);
设置嵌套值
$this->setConfig('some.nested.key', $value);
同时更新多个配置设置
$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或配置的完整数组。
-
mixed|null
$value optional 要设置的值。
-
bool
$merge optional 是否递归合并或覆盖现有配置,默认为 true。
返回值
$this
抛出
Cake\Core\Exception\CakeException
当尝试设置无效键时。