Foros del Web » Programando para Internet » PHP »

Sentencia declare

Estas en el tema de Sentencia declare en el foro de PHP en Foros del Web. <?php declare(ticks=1); // Una función llamada en cada evento tick function tick_handler() { echo "tick_handler() llamado\n"; } register_tick_function('tick_handler'); $a = 1; if ($a > 0) ...
  #1 (permalink)  
Antiguo 17/04/2013, 18:51
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cordoba
Mensajes: 44
Antigüedad: 12 años, 1 mes
Puntos: 1
Sentencia declare

<?php

declare(ticks=1);

// Una función llamada en cada evento tick
function tick_handler()
{
echo "tick_handler() llamado\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
$a += 2;
print($a);
}

?>
ALGUIEN ME PUEDE EXPLICAR QUE HACE ESTE CODIGO
  #2 (permalink)  
Antiguo 18/04/2013, 01:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Sentencia declare

No me preocuparia mucho por el tema, parece que ha sido declarado obsoleto

El resultado será


tick_handler() llamado
3tick_handler() llamado


Para cada tick llama la funcion registrada (register_tick_function('tick_handler');) intercalando su resultado en el resultado del resto de codigo. Un tick se produce cada N lineas o bloques ({un bloque}) de codigo, en este caso N=1... El primer tick se produce con la linea $a = 1; y el segundo con el bloque del condicional. El 3 que aparece en la segunda linea es la $a una vez pasada por el condicional.

http://www.es.hscripts.com/tutoriale...s/declare.html

http://php.net/manual/es/control-structures.declare.php

http://stackoverflow.com/questions/2...what-is-a-tick

http://phpadvocate.com/blog/2010/01/...icks-with-php/

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

Aqui lo puedes ver en funcionamiento

http://www.w3resource.com/php/statem...ve-example.php

(http://www.w3resource.com/php/statement/declare.php)


Para que podria servir.... de entrada solo se me ocurre que se podria implementar algun tipo de debug...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/04/2013 a las 02:03
  #3 (permalink)  
Antiguo 18/04/2013, 09:16
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cordoba
Mensajes: 44
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Sentencia declare

Muchas gracias amigo tu dices que esta obsoleto?
Soy novato
  #4 (permalink)  
Antiguo 18/04/2013, 11:39
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Sentencia declare

No, eso no es obsoleto desde php 5.3.0 como dicen.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 18/04/2013, 13:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Sentencia declare

No lo digo yo lo dicen en alguno de estos links que te he mandado incluso dicen que en la versión 6 desaparecerá del todo??
De hecho yo nunca lo he usado... pero creo que realmente se podria armar algun tipo de log para debugar usando esto....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 18/04/2013, 13:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Sentencia declare

Si vi todos los links, pero oficialmente no es obsoleto.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 19/04/2013, 01:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Sentencia declare

Cita:
Si vi todos los links, pero oficialmente no es obsoleto.
Cierto en el manual oficial no dice nada.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: declare, sentencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.