Fr3nch13/CakePHP Utilities

ProgressHelper extends Helper
in package

Create a progress bar using a supplied callback.

Usage

The ProgressHelper can be accessed from shells using the helper() method

$this->helper('Progress')->output(['callback' => function ($progress) {
    // Do work
    $progress->increment();
});

Table of Contents

Constants

DEFAULT_TOTAL  = 100
Default value for progress bar total value.
DEFAULT_WIDTH  = 80
Default value for progress bar width

Properties

$_config  : array<string, mixed>
Runtime config
$_configInitialized  : bool
Whether the config property has already been configured with defaults
$_defaultConfig  : array<string, mixed>
Default config for this helper.
$_io  : ConsoleIo
ConsoleIo instance.
$_progress  : float|int
The current progress.
$_total  : int
The total number of 'items' to progress through.
$_width  : int
The width of the bar.

Methods

__construct()  : mixed
Constructor.
configShallow()  : $this
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
draw()  : $this
Render the progress bar based on the current state.
getConfig()  : mixed
Returns the config.
getConfigOrFail()  : mixed
Returns the config for this specific key.
increment()  : $this
Increment the progress bar.
init()  : $this
Initialize the progress bar for use.
output()  : void
Output a progress bar.
setConfig()  : $this
Sets the config.
_configDelete()  : void
Deletes a single config key.
_configRead()  : mixed
Reads a config key.
_configWrite()  : void
Writes a config key.

Constants

DEFAULT_TOTAL

Default value for progress bar total value.

protected mixed DEFAULT_TOTAL = 100

Percent completion is derived from progress/total

DEFAULT_WIDTH

Default value for progress bar width

protected mixed DEFAULT_WIDTH = 80

Properties

$_configInitialized

Whether the config property has already been configured with defaults

protected bool $_configInitialized = false

$_defaultConfig

Default config for this helper.

protected array<string, mixed> $_defaultConfig = []

$_progress

The current progress.

protected float|int $_progress = 0

$_total

The total number of 'items' to progress through.

protected int $_total = self::DEFAULT_TOTAL

$_width

The width of the bar.

protected int $_width = self::DEFAULT_WIDTH

Methods

__construct()

Constructor.

public __construct(ConsoleIo $io[, array<string, mixed> $config = [] ]) : mixed
Parameters
$io : ConsoleIo

The ConsoleIo instance to use.

$config : array<string, mixed> = []

The settings for this helper.

configShallow()

Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.

public configShallow(array<string, mixed>|string $key[, mixed|null $value = null ]) : $this

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
$key : array<string, mixed>|string

The key to set, or a complete array of configs.

$value : mixed|null = null

The value to set.

Return values
$this

draw()

Render the progress bar based on the current state.

public draw() : $this
Return values
$this

getConfig()

Returns the config.

public getConfig([string|null $key = null ][, mixed $default = null ]) : mixed

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
$key : string|null = null

The key to get or null for the whole config.

$default : mixed = null

The return value when the key does not exist.

Return values
mixed

Configuration data at the named key or null if the key does not exist.

getConfigOrFail()

Returns the config for this specific key.

public getConfigOrFail(string $key) : mixed

The config value for this key must exist, it can never be null.

Parameters
$key : string

The key to get.

Tags
throws
InvalidArgumentException
Return values
mixed

Configuration data at the named key

increment()

Increment the progress bar.

public increment([float|int $num = 1 ]) : $this
Parameters
$num : float|int = 1

The amount of progress to advance by.

Return values
$this

init()

Initialize the progress bar for use.

public init([array<string|int, mixed> $args = [] ]) : $this
  • total The total number of items in the progress bar. Defaults to 100.
  • width The width of the progress bar. Defaults to 80.
Parameters
$args : array<string|int, mixed> = []

The initialization data.

Return values
$this

output()

Output a progress bar.

public output(array<string|int, mixed> $args) : void

Takes a number of options to customize the behavior:

  • total The total number of items in the progress bar. Defaults to 100.
  • width The width of the progress bar. Defaults to 80.
  • callback The callback that will be called in a loop to advance the progress bar.
Parameters
$args : array<string|int, mixed>

The arguments/options to use when outputing the progress bar.

setConfig()

Sets the config.

public setConfig(array<string, mixed>|string $key[, mixed|null $value = null ][, bool $merge = true ]) : $this

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
$key : array<string, mixed>|string

The key to set, or a complete array of configs.

$value : mixed|null = null

The value to set.

$merge : bool = true

Whether to recursively merge or overwrite existing config, defaults to true.

Tags
throws
CakeException

When trying to set a key that is invalid.

Return values
$this

_configDelete()

Deletes a single config key.

protected _configDelete(string $key) : void
Parameters
$key : string

Key to delete.

Tags
throws
CakeException

if attempting to clobber existing config

_configRead()

Reads a config key.

protected _configRead(string|null $key) : mixed
Parameters
$key : string|null

Key to read.

_configWrite()

Writes a config key.

protected _configWrite(array<string, mixed>|string $key, mixed $value[, string|bool $merge = false ]) : void
Parameters
$key : array<string, mixed>|string

Key to write to.

$value : mixed

Value to write.

$merge : string|bool = false

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Tags
throws
CakeException

if attempting to clobber existing config


        
On this page

Search results