Clases en PHP

14 08 2007

Las clases en PHP, se definen mediante la instrucción class, existe el concepto de herencia, mediante la partícula extends. Versiones anteriores a PHP 5, no mplementaban realmente el concepto de clase como tal. Más bien lo que se hacía era tratar a una clase como una mera coleccion de funciones interelacionadas. Ya en PHP 5 hay un nuevo modelo de Objetos. El manejo de PHP de objetos ha sido reescrito por completo, permitiendo un mejor desempeño y mas características.

<?php

class A
{
    function foo()
    {
        if (isset($this)) {
            echo ‘$this is defined (‘;
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

$a = new A();
$a->foo();
A::foo();

?>

Una seudo variable $this está disponible cuando un método es llamado dentro del contexto de un objeto. Para crear un nuevo objeto, se iguala a una variable y se utiliza la palabra reservada new, seguida del nombre de la clase.

En PHP, también se pueden definir métodos constructores (__construct) y destructores (__destruct) para las instancias de las clases; pero los constructores de clases padre, no son llamados automáticamente, por lo que se deberá indicar en el cuerpo de la clase heredera. Un objeto, puede ser clonado (o dicho de otro modo, puede crearse un apuntador), a través del prefijo (&).

El método __autoload, es llamado automáticamente en caso de que intente usar una clase que no ha sido definida aún, o que se necesiten definir otros parámetros de inicio.

En PHP 5, las propiedades y métodos pueden ser definidos como publicos (public), privados (private) o protegidos (protected). La palabra reservada static, permite definir miembros estáticos dentro de la clase (tanto variables como funciones). Un miembro estático es aquel que aunque está dentro de una clase, no puede ser utilizado directamente como miembro de la tal, sino referenciado sin que haya necesidad de crear un objeto de la clase. Una propiedad o método estático puede referenciar a otros dentro de la clase con el prefijo self::miembro. También puede definirse constantes, dentro de la clase, e igualmente pueden ser accedidas a través de ‘self::’.

Actualmente, la sobrecarga de funciones, no está definida como tal en PHP. Existen diferentes métodos para lograr “emularla”, pero no existe un método concreto, incluido directamente en el intérprete de PHP.


Acciones

Information

One response

23 11 2007
Marko

Muy buena explicación de las classes de PHP. Felicidades!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: