Clausuras y funciones flecha en PHP
Dos formas de capturar una variable: el fn() breve y el use() explícito.
<?php
$rate = 1.25;
// arrow functions capture enclosing variables automatically
$convert = fn(float $usd): float => round($usd * $rate, 2);
echo $convert(40.0), "\n";
// classic closures list their captures with use()
$count = 0;
$tick = function () use (&$count) {
return ++$count;
};
$tick();
$tick();
echo $count, "\n";
Cómo funciona
fn()es una flecha de una sola expresión que captura$ratepor valor, automáticamente.- Una
function () use (&$count)clásica nombra sus capturas por adelantado. - El
&vuelve la captura por referencia, así$tickmuta el contador original.
Palabras clave y builtins usados aquí
echofunctionreturnrounduse
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 325
- Tokens
- 64
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 51 segundos.
Paso 2 de 3 en Funciones; paso 11 de 27 en Fundamentos del lenguaje.