Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Es posible en php destruir objetos

Estas en el tema de Es posible en php destruir objetos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos a todos me pueden decir si en php es posible destruir objetos y como....
  #1 (permalink)  
Antiguo 02/02/2006, 08:14
kho
 
Fecha de Ingreso: diciembre-2005
Mensajes: 21
Antigüedad: 18 años, 4 meses
Puntos: 0
Es posible en php destruir objetos

Saludos a todos
me pueden decir si en php es posible destruir objetos y como.
  #2 (permalink)  
Antiguo 02/02/2006, 09:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Código:
Saludos a todos
me pueden decir si en php es posible destruir objetos y como.
Bueno simplemente puedes utilizar
Código PHP:
 unset($nombreObj); 
o en la especificación de la clase puedes definir el destructor para eliminar determinados objetos.

Código PHP:
public function __destruct(){
                
//codigo que implementa el destructor

  #3 (permalink)  
Antiguo 02/02/2006, 10:14
kho
 
Fecha de Ingreso: diciembre-2005
Mensajes: 21
Antigüedad: 18 años, 4 meses
Puntos: 0
bueno y BEGIN__VBULLETIN__CODE__SNIPPET ¿ qué es que no lo encuentro en el manual de php ?.
¿Hay otra forma?
  #4 (permalink)  
Antiguo 02/02/2006, 10:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por kho
bueno y BEGIN__VBULLETIN__CODE__SNIPPET ¿ qué es que no lo encuentro en el manual de php ?.
¿Hay otra forma?
Omite esa "frase" .. es un error del foro al colocar código PHP bajo ciertas circustancias que estamos viendo forma de solventarlo.

Un saludo,
  #5 (permalink)  
Antiguo 21/02/2006, 01:18
Avatar de adriancid  
Fecha de Ingreso: abril-2005
Ubicación: Versalles, Santiago de Cuba, Cuba
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
En PHP5 los objetos se destruyen automaticamente, tipo el Garbage Colector de Java y .Net
  #6 (permalink)  
Antiguo 22/05/2006, 14:33
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 20 años, 5 meses
Puntos: 2
amigos, tengo una clase:

en su constructor pongo una condición

Código PHP:
if ($tmp getimagesize($ruta) {
// hago el trabajo
}
else {
$this false;

En php4 me funciona y, felizmente elimina el objeto..

pero en php5 me tira error.. existe algo similar para eliminar el objeto?
  #7 (permalink)  
Antiguo 22/05/2006, 14:48
Avatar de adriancid  
Fecha de Ingreso: abril-2005
Ubicación: Versalles, Santiago de Cuba, Cuba
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
dudo que alguien te pueda ayudar con lo poco que has dicho, que error da que codigo destruye porque lo que esta ahi no hace nada
  #8 (permalink)  
Antiguo 22/05/2006, 22:08
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Entiendo lo que quieres decir, pero si nos ponemos estrictos, en PHP4 y PHP5 también se destruyen automáticamente cuando termina la ejecución del archivo .php (no hace falta hacer nada).

El "Garbage Colector", en mi opinión, no tiene mucho sentido en un ambiente "stateless".
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #9 (permalink)  
Antiguo 22/05/2006, 22:14
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Dos cosas:

1) Sería bueno que iniciaras una nueva consulta, no incluir esta pregunta dentro de otra ya iniciada.

2) Estás haciendo un objeto que se "autodestruye", lo cual me parece que no tiene mucho sentido, y que se puede resolver de otra forma.

Nunca vi en la documentación de PHP esta misma sintaxis, lo cual me hace sospechar de su funcionamiento (y es lógico que entre versiones 4 y 5 cambie de comportamiento). Lo correcto sería que a) uses el método "destructor" para darle lógica a la finalización del objeto, b) que el objeto sea "destruido" por otro objeto, contenedor del mismo (o sea, que no se destruya el mismo, que lo destruyan).
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 03:17.