Funciones auxiliares

Nette\Utils\Helpers es una clase estática con funciones auxiliares útiles.

Instalación:

composer require nette/utils

Todos los ejemplos suponen que está definido el siguiente alias de clase:

use Nette\Utils\Helpers;

capture (callable $func): string

Ejecuta un callback y devuelve como cadena la salida capturada.

$res = Helpers::capture(function () use ($template) {
	$template->render();
});

clamp (int|float $value, int|float $min, int|float $max): int|float

Acota un valor dentro del rango inclusivo indicado por min y max.

Helpers::clamp($level, 0, 255);

compare (mixed $left, string $operator, mixed $right)bool

Compara dos valores igual que lo hace PHP. Admite los operadores >, >=, <, <=, =, ==, ===, !=, !==, <>. La función es útil cuando el operador se determina dinámicamente (es una variable).

Helpers::compare(10, '<', 20); // true

falseToNull (mixed $value)mixed

Convierte false en null; los demás valores quedan sin cambios.

Helpers::falseToNull(false); // null
Helpers::falseToNull(123);   // 123

getLastError(): string

Devuelve el último error de PHP producido, o una cadena vacía si no se produjo ninguno. A diferencia de error_get_last(), no le afecta la directiva html_errors de PHP y devuelve siempre texto, no HTML.

Helpers::getLastError();

getSuggestion (string[] $possibilities, string $value): ?string

De entre las $possibilities dadas, encuentra la cadena más parecida a $value, pero no idéntica. Solo admite codificaciones de 8 bits.

Resulta útil cuando una opción concreta no es válida y quiere sugerir al usuario una alternativa parecida (pero distinta, de ahí que se ignoren las cadenas idénticas). Así genera Nette los mensajes “¿quiso decir …?”.

$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo');   // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz');  // 'bar', no 'baz'

splitClassName (string $name)array

Divide el nombre de una clase de PHP en un espacio de nombres y un nombre de clase corto. Devuelve un array de dos cadenas, donde la primera es el espacio de nombres y la segunda, el nombre de la clase.

Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo');                 // ['', 'Foo']
versión: 4.x