Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    Funciones de Clases/Objectos

    IX_ Funciones de Clases/Objectos

    Introducción

    Estas funciones permiten obtener informacion sobre clases y objetos_ Se puede obtener el nombre de la clase a la que pertenece un objeto, asi como las propiedades de sus miembros y métodos_ Usando estas funciones se puede obtener no solo lo comentado en la frase anterior, tambien se puede obtener la familia del objeto (p_ej_ que clase está extendiendo la clase a la que pertenece el objeto)

    Requerimientos

    No se necesitan bibliotecas externas para construir esta extensión

    Instalación

    No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP_

    Configuración en tiempo de ejecución

    Esta extensión no tiene directivas de configuración en php_ini_

    Tipos de recursos

    Esta extensión no tiene ningún tipo de recurso definido_

    Constantes predefinidas

    Esta extensión no tiene ninguna constante definida_

    Ejemplos

    En este ejemplo, definimos primero una clase base y una extensión de esta clase_ La clase base define un vegetal genérico, si es comestible y su color_ La subclase Spinach añade un metodo para cocinarlo y otro para saber si esta cocinado_

    Ejemplo 1_ classes_inc

    <?php
    
    // base class with member properties and methods
    class Vegetable {
    
        var $edible;
        var $color;
    
        function Vegetable( $edible, $color="green" ) {
            $this_>edible = $edible;
            $this_>color = $color;
        }
    
        function is_edible() {
            return $this_>edible;
        }
    
        function what_color() {
            return $this_>color;
        }
        
    } // end of class Vegetable
    
    // extends the base class
    class Spinach extends Vegetable {
    
        var $cooked = false;
    
        function Spinach() {
            $this_>Vegetable( true, "green" );
        }
    
        function cook_it() {
            $this_>cooked = true;
        }
    
        function is_cooked() {
            return $this_>cooked;
        }
        
    } // end of class Spinach
    
    ?>

    Creamos 2 objetos de estas clases e imprimimos información sobre ellos, incluyendo la jerarquia de clases a la que pertenecen_ También definimos algunas funciones, especialmente para imprimir las variables de una manera ordenada_

    Ejemplo 2_ test_script_php

    <pre>
    <?php
    
    include "classes_inc";
    
    // utility functions
    
    function print_vars($obj) {
        $arr = get_object_vars($obj);
        while (list($prop, $val) = each($arr))
            echo "\t$prop = $val\n";
    }
    
    function print_methods($obj) {
        $arr = get_class_methods(get_class($obj));
        foreach ($arr as $method)
            echo "\tfunction $method()\n";
    }
    
    function class_parentage($obj, $class) {
        global $$obj;
        if (is_subclass_of($$obj, $class)) {
            echo "Object $obj belongs to class "_get_class($$obj);
            echo " a subclass of $class\n";
        } else {
            echo "Object $obj does not belong to a subclass of $class\n";
        }
    }
    
    // instantiate 2 objects
    
    $veggie = new Vegetable(true,"blue");
    $leafy = new Spinach();
    
    // print out information about objects
    echo "veggie: CLASS "_get_class($veggie)_"\n";
    echo "leafy: CLASS "_get_class($leafy);
    echo ", PARENT "_get_parent_class($leafy)_"\n";
    
    // show veggie properties
    echo "\nveggie: Properties\n";
    print_vars($veggie);
    
    // and leafy methods
    echo "\nleafy: Methods\n";
    print_methods($leafy);
    
    echo "\nParentage:\n";
    class_parentage("leafy", "Spinach");
    class_parentage("leafy", "Vegetable");
    ?>
    </pre>

    One important thing to note in the example above is that the object $leafy is an instance of the class Spinach which is a subclass of Vegetable, therefore the last part of the script above will output:

    [___]
    Parentage:
    Object leafy does not belong to a subclass of Spinach
    Object leafy belongs to class spinach a subclass of Vegetable

    Tabla de contenidos
    call_user_method_array __  Call a user method given with an array of parameters [deprecated]
    call_user_method __  Call a user method on an specific object [deprecated]
    class_exists __ Checks if the class has been defined
    get_class_methods __ Devuelve un vector (matriz unidimensional) con los nombres de los métodos de la clase en question_
    get_class_vars __  Devuelve una matriz con las propiedades (inicializadas por defecto) de la clase
    get_class __ Returns the name of the class of an object
    get_declared_classes __ Returns an array with the name of the defined classes
    get_object_vars __ Devuelve un vector de propiedades del objecto
    get_parent_class __ Retrieves the parent class name for object or class
    is_a __  Returns TRUE if the object is of this class or has this class as one of its parents
    is_subclass_of __  Returns TRUE if the object has this class as one of its parents
    method_exists __ Comprueba que el metódo de clase existe
     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html