Las aplicaciones se desarrollan creando clases, que están compuestas por funciones, variables o atributos. De las cuales se crean objetos, que obtienen las propiedades definidas en la clase.

Sintaxis de una clase en PHP

<?
//definir la clase
class nombre_clase{
      //atributos
      public $propiedad1;
      public $propiedad2; 
      // metodos de la clase
      public function metodo1($parametro){
            instrucciones_metodo;
      }
}

?> 

Opcionalmente podremos usar las siguientes palabras clave delante de class:

  • abstract: clase que no puede ser crear una instancia como objeto
  • final: la clase no puede ser extendida

Constructor de una clase

Podemos definir una serie de acciones que se realizan cuando se crea un objeto definiendo los métodos __construct:

<?
//definir la clase
class nombre_clase{
      //atributos
      public $propiedad1;
      public $propiedad2; 
      //constructor de la clase
      public function __construct(){  } 
      // metodos de la clase
      public function metodo1($parametro){
            instrucciones_metodo;
      }
}
?>

Podemos definir la visibilidad de un miembro de una clase usando las palabras clave:

  • public: miembro visible
  • protected: visible solo en la clase actual y derivadas
  • private: visible solo en la clase actual

Herencia de clases

Una clase puede heredar los métodos y funciones de otra, formando una relación madre-hija. De esta manera la clase hija, hereda y puede sobrescribir atributos miembros de su clase madre. Podemos decir que la clase nombre_clase1 hereda de la clase nombre_clase:

<?
class nombre_clase1 extends nombre_clase {  
      public function __construct ($parametro) {  
       instrucciones_metodo1;
     }  
}  
?>  
>

Objetos

Podemos definir un objeto como un “estudiante” representado por un nombre, dicho estudiante cuenta con varias características a las que llamaremos atributos y a las acciones métodos. Para obtener un objeto de una clase en PHP5 debemos crearlo y asignarle una variable.

<?
$clase = new nombre_clase ();  
$clase-> metodo1(“parametro”);
?> 

Para crear ese objeto $clase de tipo nombre_clase y acceder a esos métodos y atributos debemos haberlos definido creando la clase nombre_clase.

Como pueden darse cuenta, asignamos el nuevo objeto de tipo nombre_clase a la variable $clase y accedemos a sus atributos: propiedad1, propiedad2 y su método: metodo1 usando el operador de objeto ( -> ).

Puedes descargar el ejemplo para ejecutarlo.

Otras lecturas