Foros del Web » Programando para Internet » PHP »

¿alguien sabe que pasa con las variables creadas?

Estas en el tema de ¿alguien sabe que pasa con las variables creadas? en el foro de PHP en Foros del Web. Hola a todos!!! Bueno tengo un par de preguntillas: 1. ¿Alguien sabe que pasa con las variables que se crean en la programación por procedimientos? ...
  #1 (permalink)  
Antiguo 06/06/2007, 10:50
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
Pregunta ¿alguien sabe que pasa con las variables creadas?

Hola a todos!!!
Bueno tengo un par de preguntillas:
1. ¿Alguien sabe que pasa con las variables que se crean en la programación por procedimientos?
EJEMPLO:
Código PHP:
<?php
$a 
2;
echo 
$a;
?>
¿Alguien sabe que pasa con $a? si es que se queda como basura en la memoria del servidor o que es lo que pasa con esa variable?

2. ¿Alguien sabe que pasa con las variables que creamos en una clase?
EJEMPLO
Código PHP:
<?php
class sumar{
  var 
$resp;
  function 
sumar(){
    
$x 2;
    
$this->resp $x;
  }

  function 
imprimir(){
    echo 
$this->resp;
  }
}

$suma = new sumar();
$suma->imprimir();

?>
Aqui la pregunta es doble, ¿Qué pasa con $resp? y ¿Qué pasa con $x? se que dan en memoria como basura ó una de las dos se borra? que es lo que pasa en este caso?

Si alguien sabe que por favor me de una buena explicación.

De ante mano muchas gracias por la ayuda
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #2 (permalink)  
Antiguo 06/06/2007, 11:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: ¿alguien sabe que pasa con las variables creadas?

PHP es un lenguaje interpretado y muy optimizado, todas las variables que creas, al final del script se borran de la memoria, lo mismo que los objetos, y conexiones (a menos que esas conexiones esten marcadas como persistentes).

Saludos.
  #3 (permalink)  
Antiguo 06/06/2007, 11:05
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 17 años, 6 meses
Puntos: 22
Re: ¿alguien sabe que pasa con las variables creadas?

Y porque no intentas imprimir las variables mas adelante para ver si el servidor aun las conserva. xD
  #4 (permalink)  
Antiguo 06/06/2007, 11:10
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
De acuerdo Re: ¿alguien sabe que pasa con las variables creadas?

A caray como es eso de persistente¿?
Osease que si abro una conexión persistente, después de 4 navegaciones entre mi sitio Web, puedo utilizar aun esa conexión como si fuese una variable global¿?

Y lo otro es que si yo sé que PHP las borra pero.... entonces mi pregunta es para que está la función unset()

Sé que esa función borra las variables y pues cuando me refiero a que quedan en memoria del servior, me refiero a que no son accesibles por PHP pero que el contenido o algo de esa variable queda como basura en la memoria del servidor!!

Salu2 y gracias por la ayuda
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #5 (permalink)  
Antiguo 06/06/2007, 11:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: ¿alguien sabe que pasa con las variables creadas?

Cuando tu abres una conexion persistente ej: con mysql_pconnect el driver de MySQL busca si ya hay una conexion abierta con ese usuario y password y te devuelve esa conexion, al final del script no se cierra para que otro usuario pueda utilizarla.

Las conexiones persistentes son muy utiles para sitios con mucho trafico, para sitios con poco trafico es mejor utilizar conexiones sencillas.

No la puedes usar como variable global, tienes que llamar siempre mysql_pconnect al inicio de tu script donde vas a utilizar la base de datos.

Respecto a tu otra pregunta, unset existe cuando ocupas muchos recursos, es decir supongamos que el limite en PHP de tu script son 2 MB, abres una imagen de 1.8 MB, te quedan 200kb para trabajar. Supongamos que despues de X proceso necesitas abrir otra imagen de 500 kb, ya no tendrias espacio en memoria para lo cual debes de usar unset en la otra imagen si ya no la utilizas para liberar el espacio.

De lo contrario al final del script se limpian las variables y se borran de la memoria (esto no se hace en cada script, hay un garbage collector que PHP ejecuta cada X tiempo que busca memoria "basura" y la descarga).

Saludos.
  #6 (permalink)  
Antiguo 06/06/2007, 11:51
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: ¿alguien sabe que pasa con las variables creadas?

ufff ahora si comprendí!!!

Lo que pasa es que estoy haciendo la base de un CMS y pues con lo que pasó hace un tiempo con PHP-Nuke que lo estaban prohibiendo en algunos servidores por su mal manejo de las variables que dejaban mucha basura en la memoria del servidor!!!

Entonces estaba mirando como manejar las variables en mi desarrollo para poder garantizar un limpieza total!!!!

Pero con lo que me explicas quedo entonces por enterado que esa tarea la hace PHP por defecto!!! asi que no debo preocuparme por eso

Salu2 y muchas gracias por la explicación
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #7 (permalink)  
Antiguo 06/06/2007, 11:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: ¿alguien sabe que pasa con las variables creadas?

No tanto asi que no te preocupes por eso, si debes de tener en cuenta tus procesos y optimizarlos lo mas posible asi reduces la carga del servidor.

Saludos.
  #8 (permalink)  
Antiguo 06/06/2007, 11:57
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
De acuerdo Re: ¿alguien sabe que pasa con las variables creadas?

Cita:
Iniciado por GatorV Ver Mensaje
No tanto asi que no te preocupes por eso, si debes de tener en cuenta tus procesos y optimizarlos lo mas posible asi reduces la carga del servidor.

Saludos.
Claro si, esa parte de optimizar los procesos para reducir al maximo la carga en el servidor, si la comprendo y de echo implemento eso en mi desarrollo lo que me causaba duda era ya al final del script jejejejeje ahi se generaba la duda, ¿qué pasa con las variables? pero listo men ya comprendí

Nuevamente muchas gracias
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
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 14:31.