Otras funciones interesantes para trabajar con clases y objetos

A continuación se muestra una serie atributos y funciones que pueden usarse para facilitar el trabajo de clases y objetos:

  • METHOD: Pseudo constante que nos informa el nombre de la clase y del método, cuando estamos dentro de una clase, o el nombre de la función, cuando estamos dentro de una función normal.

  • class_exists (pclase): devuelve True si ha sido definida la clase "pclase"

  • get_class_method (pclase): devuelve un array con todos los métodos de la clase pclase pasada como parámetro

  • is_subclass_of (pobjeto, pclase): Devuelve True si el objeto pertenece a una clase que es subclase de la clase pclase pasada como parámetro.

Más funciones en http://docs.php.net/manual/es/a.classobj.php

<?php
   print  <B><U>Varias funciones para tratar
          con clases y objetos</U></B><BR><BR> ;
   // Definición de la clase Persona
   Class Persona {
      protected $identificador;
      protected $nombre;
      function __construct($id, $name){
         $this->identificador = $id;
         $this->nombre = $name;
      }
      function Imprimir(){
         print $this->identificador;
      }
   }
   // Definición de la clase Empleado derivada de la clase Persona
   Class Empleado extends Persona {
      private $seccion;
      function __construct($id, $name, $seccion){
         $this->identificador = $id;
         $this->nombre = $name;
         $this->seccion = $seccion;
         print   .
         __METHOD__;
      }
      function Listar(){
         print  ;
      }
   }
   // Se genera un objeto de la clase Persona
   $per = new Persona(1222, );
   // Se genera un objeto de la clase Empleado
   $emp = new Empleado(99, );
   // Función class_exists()
   if (class_exists('Persona')) {
      print  ;
   }
   // Función get_class()
   print  <BR><B>2. Función get_class().
          </B>La clase del objeto \$per es :  . get_class($per) ;
   // Función get_class_methods()
   print  <BR><B>3. Función get_class_methods().
          </B>…stos son los métodos de la clase Persona :  ;
   print_r (get_class_methods( )) ;
   // Función get_class_vars()
   print  <BR><B>4. Función get_class_vars().
          </B>…stas son las propiedades de la clase Persona :  ;
   print_r (get_class_vars( ));
   // Función get_declared_classes()
   print  <BR><B>5. Función get_declared_classes().
          </B>…stas son las clases definidas :  ;
   print_r (get_declared_classes()) ;
   // Función get_object_vars()
   print  <BR><B>6. Función get_object_vars().
          </B>…stas son las propiedades del objeto \$emp :  ;
   print_r (get_object_vars($emp));
   // Función get_parent_class()
   print  <BR><B>7. Función get_parent_class().
          </B>…sta es la clase base del objeto \$emp :   . get_parent_class($emp);
   // Función getType()
   print  <BR><B>8. Función getType().
          </B>…ste es el tipo de la variable \$emp:   . gettype($emp);
   // Función is_a()
   if (is_a($emp, )){
      print  <BR><B>9. Función is_a().
             </B>El objeto \$emp pertenece a la clase Empleado. ;
   }
   //Operador instanceof
   if ($emp instanceof Empleado){
      print  <BR><B>9. Función instanceof.
             </B>El objeto \$emp pertenece a la clase Empleado ;
   }
   // Función is_subclass_of()
   if (is_subclass_of($emp, )){
      print  <BR><B>10. Función is_subclass_of().
             </B>El objeto \$emp es subclase de la clase Persona. ;
   }
   // Función method_exists()
   if (method_exists($emp, )){
      print  <BR><B>11. Función method_exists().
             </B>El objeto \$emp contiene el método Listar. ;
   }
   // Función setType()
   $vardbl = 23;
   settype($vardbl, );
   print  <BR><B>12. Función setType().
          </B>…ste es el tipo de la variable \$vardbl:   . gettype($vardbl);
?>

Parte de la ejecución del código anterior:

Varias funciones para tratar con clases y objetos

  • Uso de la constante METHOD : Empleado::__construct
  • Función class_exists(). La clase Persona ya existe.
  • Función get_class(). La clase del objeto $per es :Persona
  • Función get_class_methods(). Éstos son los métodos de la clase Persona : Array ( [0] => __construct [1] => Imprimir )
  • Función get_class_vars(). Éstas son las propiedades de la clase Persona : Array ( )
  • Función get_declared_classes(). Éstas son las clases definidas : Array ( [0] => stdClass [1] => Exception [2] => ErrorException ... [137] => ZipArchive [138] => paradox_db [139] => Persona [140] => Empleado )
  • Función get_object_vars(). Éstas son las propiedades del objeto $emp : Array ( )
  • Función get_parent_class(). Ésta es la clase base del objeto $emp : Persona
  • Función getType(). Éste es el tipo de la variable $emp: object
  • Función instanceof. El objeto $emp pertenece a la clase Empleado
  • Función is_subclass_of(). El objeto $emp es subclase de la clase Persona.
  • Función method_exists(). El objeto $emp contiene el método Listar.
  • Función setType(). Éste es el tipo de la variable $vardbl: double

```

results matching ""

    No results matching ""