Fr3nch13/CakePHP Utilities

MemoryBehavior extends Behavior
in package

Basically a wrapper for the Mimory Library for the Model/Tables to use.

Table of Contents

Properties

$_config  : array<string, mixed>
Runtime config
$_configInitialized  : bool
Whether the config property has already been configured with defaults
$_defaultConfig  : array<string, mixed>
Default configuration
$_reflectionCache  : array<string, array<string|int, mixed>>
Reflection method cache for behaviors.
$_table  : Table
Table instance.
$Memory  : mixed
The memory tracking object.

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.
ensureMemory()  : void
Makes sure there is a Memory object created.
getConfig()  : mixed
Returns the config.
getConfigOrFail()  : mixed
Returns the config for this specific key.
getTable()  : Table
Get the table instance this behavior is bound to.
implementedEvents()  : array<string, mixed>
Gets the Model callbacks this behavior is interested in.
implementedFinders()  : array<string|int, mixed>
implementedFinders
implementedMethods()  : array<string|int, mixed>
implementedMethods
initialize()  : void
Constructor hook method.
memoryUsage()  : string
Reports the memory usage at the time it is called.
memoryUsageHighest()  : string
Reports the highest memory usage.
setConfig()  : $this
Sets the config.
table()  : Table
Get the table instance this behavior is bound to.
verifyConfig()  : void
verifyConfig
_configDelete()  : void
Deletes a single config key.
_configRead()  : mixed
Reads a config key.
_configWrite()  : void
Writes a config key.
_reflectionCache()  : array<string|int, mixed>
Gets the methods implemented by this behavior
_resolveMethodAliases()  : array<string|int, mixed>
Removes aliased methods that would otherwise be duplicated by userland configuration.

Properties

$_configInitialized

Whether the config property has already been configured with defaults

protected bool $_configInitialized = false

$_defaultConfig

Default configuration

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

These are merged with user-provided configuration when the behavior is used.

$_reflectionCache

Reflection method cache for behaviors.

protected static array<string, array<string|int, mixed>> $_reflectionCache = []

Stores the reflected method + finder methods per class. This prevents reflecting the same class multiple times in a single process.

$Memory

The memory tracking object.

protected mixed $Memory = null
Tags
@var

null|\Fr3nch13\Utilities\Lib\Memory;

Methods

__construct()

Constructor

public __construct(Table $table[, array<string, mixed> $config = [] ]) : mixed

Merges config with the default and store in the config property

Parameters
$table : Table

The table this behavior is attached to.

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

The config for this behavior.

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

ensureMemory()

Makes sure there is a Memory object created.

public ensureMemory() : void

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

getTable()

Get the table instance this behavior is bound to.

public getTable() : Table

Use table() instead.

Return values
Table

The bound table instance.

implementedEvents()

Gets the Model callbacks this behavior is interested in.

public implementedEvents() : array<string, mixed>

By defining one of the callback methods a behavior is assumed to be interested in the related event.

Override this method if you need to add non-conventional event listeners. Or if you want your behavior to listen to non-standard events.

Return values
array<string, mixed>

implementedFinders()

implementedFinders

public implementedFinders() : array<string|int, mixed>

Provides an alias->methodname map of which finders a behavior implements. Example:

 [
   'this' => 'findThis',
   'alias' => 'findMethodName'
 ]

With the above example, a call to $table->find('this') will call $behavior->findThis() and a call to $table->find('alias') will call $behavior->findMethodName()

It is recommended, though not required, to define implementedFinders in the config property of child classes such that it is not necessary to use reflections to derive the available method list. See core behaviors for examples

Tags
throws
ReflectionException
Return values
array<string|int, mixed>

implementedMethods()

implementedMethods

public implementedMethods() : array<string|int, mixed>

Provides an alias->methodname map of which methods a behavior implements. Example:

 [
   'method' => 'method',
   'aliasedMethod' => 'somethingElse'
 ]

With the above example, a call to $table->method() will call $behavior->method() and a call to $table->aliasedMethod() will call $behavior->somethingElse()

It is recommended, though not required, to define implementedFinders in the config property of child classes such that it is not necessary to use reflections to derive the available method list. See core behaviors for examples

Tags
throws
ReflectionException
Return values
array<string|int, mixed>

initialize()

Constructor hook method.

public initialize(array<string, mixed> $config) : void

Implement this method to avoid having to overwrite the constructor and call parent.

Parameters
$config : array<string, mixed>

The configuration settings provided to this behavior.

memoryUsage()

Reports the memory usage at the time it is called.

public memoryUsage([bool $nice = true ][, float|null $mem_usage = null ]) : string
Parameters
$nice : bool = true

If we should return the bytes (false), of the calculated amount in a nice format (true).

$mem_usage : float|null = null

The memory number to be made nice.

Return values
string

the memory usage stat.

memoryUsageHighest()

Reports the highest memory usage.

public memoryUsageHighest([bool $nice = true ]) : string
Parameters
$nice : bool = true

If we should return the bytes (false), of the calculated amount in a nice format (true).

Return values
string

the highest memory usage stat.

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

table()

Get the table instance this behavior is bound to.

public table() : Table
Return values
Table

The bound table instance.

verifyConfig()

verifyConfig

public verifyConfig() : void

Checks that implemented keys contain values pointing at callable.

Tags
throws
CakeException

if config are invalid

_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

_reflectionCache()

Gets the methods implemented by this behavior

protected _reflectionCache() : array<string|int, mixed>

Uses the implementedEvents() method to exclude callback methods. Methods starting with _ will be ignored, as will methods declared on Cake\ORM\Behavior

Tags
throws
ReflectionException
Return values
array<string|int, mixed>

_resolveMethodAliases()

Removes aliased methods that would otherwise be duplicated by userland configuration.

protected _resolveMethodAliases(string $key, array<string, mixed> $defaults, array<string, mixed> $config) : array<string|int, mixed>
Parameters
$key : string

The key to filter.

$defaults : array<string, mixed>

The default method mappings.

$config : array<string, mixed>

The customized method mappings.

Return values
array<string|int, mixed>

A de-duped list of config data.


        
On this page

Search results