Foros del Web » Programando para Internet » PHP »

__destruccion __clone __contruccion ¿destruye un nombre o una clase?

Estas en el tema de __destruccion __clone __contruccion ¿destruye un nombre o una clase? en el foro de PHP en Foros del Web. Código PHP: <?php class  MyDestructableClass  {    function  __construct () {        print  "In constructor\n" ;         $this -> name  =  "MyDestructableClass" ;    }    function  __destruct () {        print  "Destroying "  ...
  #1 (permalink)  
Antiguo 30/07/2011, 07:48
Avatar de skywolker  
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 195
Antigüedad: 12 años, 8 meses
Puntos: 8
Pregunta __destruccion __clone __contruccion ¿destruye un nombre o una clase?

Código PHP:
<?php
class MyDestructableClass {
   function 
__construct() {
       print 
"In constructor\n";
       
$this->name "MyDestructableClass";
   }

   function 
__destruct() {
       print 
"Destroying " $this->name "\n";
   }
}

$obj = new MyDestructableClass();
?>
  #2 (permalink)  
Antiguo 30/07/2011, 08:01
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: __destruccion __clone __contruccion ¿destruye un nombre o una clase?

Que tal skywolker,

Primero bienvenido al foro y segundo no comprendo bien cual es la duda, pero en el manual esta muy claro http://php.net/manual/es/language.oop5.decon.php

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 30/07/2011, 08:27
Avatar de skywolker  
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 195
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: __destruccion __clone __contruccion ¿destruye un nombre o una clase?

ya lo entendi es como $(document).ready( function (){
//corre
});


de javascript lo demas es como un break;
  #4 (permalink)  
Antiguo 30/07/2011, 09:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: __destruccion __clone __contruccion ¿destruye un nombre o una clase?

No es como break exactamente, ya que break solo detiene, con el método mágico puedes hacer cosas antes de que se elimine la referencia. Es decir, si ya terminaste de usar la clase y ya PHP terminó de ejecutarse el garbage collactor limpia la memoria y ahí es cuando se llama el __destruct y dentro del destruct puedes indicar lo que quieras que haga antes de destruirlo. Para que tengas un poco más claro, cuando uno inicia una clase, si usaste unserialize, llama automáticamente __wakeup, luego __construct. Cuando llamas algún método o propiedad, llama __call y si usas isset llama __isset. Y si quieres llamar algún objeto como una función el __invoke es llamado automáticamente. Y así todos los demás.

Luego son los que finalizan, como el ejemplo de __destruct que es llamado automáticamente cuando se termina el proceso de PHP o si quieres llamarlo explicitamente. Es cuando se destruye una referencia.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 30/07/2011, 10:03
Avatar de skywolker  
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 195
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: __destruccion __clone __contruccion ¿destruye un nombre o una clase?

si asi es no se me paso por la cabeza aunque ya lo sabia xD muchas gracias abimaelrc.

Etiquetas: nombre, clon
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 00:00.