uso strict_types funciones funcionalidad php declare

strict_types - PHP utilizando Declare? ¿Qué es una garrapata?



strict_types php (2)

Usted está en el camino correcto en cuanto a qué es una garrapata.

http://www.tuxradar.com/practicalphp/4/21/0

En pocas palabras, un tick es un evento especial que ocurre internamente en PHP cada vez que se ejecuta un cierto número de declaraciones. Estas declaraciones son internas a PHP y corresponden libremente a las declaraciones en su script. Puede controlar la cantidad de instrucciones que se requieren para activar una marca utilizando la función declare (), y puede registrar funciones para ejecutar cuando se produce una marca utilizando la función register_tick_function (). Como ya se mencionó, la sintaxis para declarar es muy inusual, ¡así que prepárate para un shock!

Estoy un poco confundido por la función PHP declare .

¿Qué es exactamente una sola garrapata? Pensé que una garrapata es igual a una línea de código?

Pero si uso:

function myfunc() { print "Tick"; } register_tick_function("myfunc"); declare(ticks=1) { echo ''foo!bar''; }

El guión imprime:

"Tick" 2 veces?


Usted recibe una marca para cada línea; y cada bloque {} Prueba eso:

declare(ticks=1) echo ''foo!bar'';

Sin bloque, sin garrapata extra.

declare(ticks=1) {{ echo ''foo!bar''; }}

Bloques más extraños = más garrapatas.

PD: por cierto, las garrapatas son una característica bastante exótica y solo son útiles en algunas situaciones extremadamente raras . No son equivalentes a enhebrar ni nada. Si, para usted, los ticks son la solución a un problema, entonces debería publicar sobre su problema en otra pregunta porque probablemente no sea la solución correcta.