viernes, 6 de diciembre de 2013

Como crear clases con PHP


Bienvenid@s, en este parte vamos a ver como crear clases con PHP.

PHP es un lenguaje de programación orientado a objetos, esto quiere decir, que PHP te ofrece la posibilidad de crear tus propios objetos, también llamadas clases.

Las clases son parte de código reservada para realizar una determinada tarea, como las funciones, pero las clases se distinguen en que pueden contener métodos y propiedades que la hacen más completa y a su vez más compleja, ya que no se trata de una función en sí, sino de un objeto con una serie de características únicas.

El mejor modo de saber que es una clase, es construyendo una y para ello vamos a ver un ejemplo práctico construyendo una clase llamada "empleado", a la cual daremos una serie de propiedades y métodos para definir a cada empleado de nuestra empresa: nombre, apellidos, edad, población, dirección, teléfono y puesto que desempeña.

Para crear una clase hay que utilizar la palabra reservada class seguido del nombre de la clase y abrir llaves {} ...

<?php
class empleado
{

}
?>


Esta es la simple apertura de una nueva clase llamada empleado, toda clase php debe contener un método constructor que se llame a sí mismo al crearlo, en el cual podremos agregar las características del objeto en cuestión.

<?php
class empleado
{
/* Constructor del objeto */
function __construct(){
/* Se hace referencia a sí mismo */
$self = $this;
}

}
?>


Bien, ahora llegamos a un punto interesante y el más importante al crear un objeto, el objeto se está llamando a sí mismo, a través de $self = $this, es decir está declarando que existe y que a partir de ese momento puede empezar a asumir propiedades que podrán ser modificadas a través de los métodos, así que a continuación se le añadirán cada una de las propiedades con su valor por defecto ...

<?php
class empleado
{
/* Constructor del objeto */
function __construct(){
/* Se hace referencia a sí mismo */
$self = $this;

/* Propiedades del objeto */
$self -> NOMBRE = "Introduce un nombre";
$self -> APELLIDOS = "Introduce los apellidos";
$self -> EDAD = "Introduce la edad";
$self -> POBLACION = "Introduce la población";
$self -> DIRECCION = "Introduce la dirección";
$self -> TELEFONO = "Introduce el teléfono";
$self -> PUESTO = "Introduce el puesto del empleado";
}
}
}
?>


Muy bien ya tenemos el constructor, el objeto existe y como puedes ver contienes siete propiedades; NOMBRE, APELLIDOS, ..., pero aun queda algo importante, ¿Como definir las propiedades de cada empleado?, pues bien, ahora entran en juego los métodos, los métodos son las herramientas que nos permitirán definir las características propias de cada empleado, los métodos son como funciones, que son únicas del objeto y que más adelante veremos como acceder a ellas, a continuación vamos a definir un método por cada propiedad ...

 
<?php
class empleado{

/* Constructor del objeto */
function __construct(){
/* Se hace referencia a sí mismo */
$self = $this;

/* Propiedades del objeto */
$self -> NOMBRE = "Introduce un nombre";
$self -> APELLIDOS = "Introduce los apellidos";
$self -> EDAD = "Introduce la edad";
$self -> POBLACION = "Introduce la población";
$self -> DIRECCION = "Introduce la dirección";
$self -> TELEFONO = "Introduce el teléfono";
$self -> PUESTO = "Introduce el puesto del empleado";
}

/* MÉTODOS */
function nombre($nombre="")
{
if ($nombre == null)
{
$this->NOMBRE = $this->NOMBRE;
}
else
{
$this->NOMBRE = $nombre;
}
return $this->NOMBRE;
}

function apellidos($apellidos="")
{
if ($apellidos == null)
{
$this->APELLIDOS = $this->APELLIDOS;
}
else
{
$this->APELLIDOS = $apellidos;
}
return $this->APELLIDOS;
}

function edad($edad="")
{
if ($edad == null)
{
$this->EDAD = $this->EDAD;
}
else
{
$this->EDAD = $edad;
}
return $this->EDAD;
}

function poblacion($poblacion="")
{
if ($poblacion == null)
{
$this->POBLACION = $this->POBLACION;
}
else
{
$this->POBLACION = $poblacion;
}
return $this->POBLACION;
}

function direccion($direccion="")
{
if ($direccion == null)
{
$this->DIRECCION = $this->DIRECCION;
}
else
{
$this->DIRECCION = $direccion;
}
return $this->DIRECCION;
}

function telefono($telefono="")
{
if ($telefono == null)
{
$this->TELEFONO = $this->TELEFONO;
}
else
{
$this->TELEFONO = $telefono;
}
return $this->TELEFONO;
}


function puesto($puesto="")
{
if ($puesto == null)
{
$this->PUESTO = $this->PUESTO;
}
else
{
$this->PUESTO = $puesto;
}
return $this->PUESTO;
}
/* MÉTODOS */
}

?>


OK, ahora puedes guardar la clase con el nombre empleado.php

Ahora ya tenemos un método por cada propiedad, cada método nos va a permitir modificar su respectiva propiedad y así definir a cada empleado.

Una vez guardada la clase, ahora desde otro archivo, por ejemplo index.php vamos a acceder a la clase y vamos a crear un empleado ...

<?php

//Incluir el archivo de la clase empleado
require("empleado.php");

//Crear el objeto
$empleado = new empleado();

//Utilizar los métodos para definir el empleado
$nombre = $empleado -> nombre("Fernando");
$apellidos = $empleado -> apellidos("Torres Macías");
$edad = $empleado -> edad(30);
$poblacion = $empleado -> poblacion("Madrid");
$direccion = $empleado -> direccion("Calle Zamora");
$telefono = $empleado -> telefono("900 00 00 00");
$puesto = $empleado -> puesto("Programador Web");

//Por último mostrar en el navegador el resultado
echo "<p>Nombre: $nombre</p>";
echo "<p>Apellidos: $apellidos</p>";
echo "<p>Edad: $edad</p>";
echo "<p>Poblacion: $poblacion</p>";
echo "<p>Dirección: $direccion</p>";
echo "<p>Teléfono: $telefono</p>";
echo "<p>Puesto: $puesto</p>";
?>



Como has podido ver en la imagen a través del objeto "empleado" se ha podido crear un empleado con unas características propias que han sido definidas a través de los métodos. 



No hay comentarios: