Manual de clases de PHP
En el post de hoy vamos a ver un poco más de información sobre algo muy común en los lenguajes de programación orientados a objetos, centrándonos con PHP: las clases. Vamos a repasar qué son, cómo funcionan y para qué nos pueden servir. Los ejemplos que voy a mostrar estarán escritos en el lenguaje web, pero la teoría es la misma para todos, ya que recordemos que la gran mayoría parten del lenguaje C y la estructura es parecida por lo que nos sirve. Como otras veces he mencionado, lo importante es quedarse con los conceptos mas que con la teoría exacta. En fin, vamos a ver qué son estas clases.
Funcionamiento de las clases y ejemplos en PHP
Antes de nada debemos tener claro el concepto de clase: en términos de programación, una clase es un objeto con varias propiedades asociadas. Imaginemos la clase “coche”, la cual puede tener como propiedades el color, la marca y la potencia. Como podéis ver, lo que hacemos es crear objetos con propiedades que más tarde podemos usar. Como el concepto que tiene esto es la de crear dichos objetos, esta técnica de programación recibe el nombre de POO, o programación orientada a objetos. ¿Qué ventajas tiene respecto a no trabajar así? Las siguientes:
- Código ordenado y reutilizable. En las etapas de desarrollo esto es clave para mantener el orden del proyecto. Además que si podemos reciclar código mejor, ya que nos ahorra tiempo.
- Facilidad para mantenerlo. Los errores se detectan más rápido lo cual da facilidad para poder administrar el código a la larga.
- Creación de módulos. Con POO seremos capaces de crear módulos que realicen tareas muy específicas los cuales podemos ir llamando en distintas partes del proyecto.
Creación de clases e implementación
Muy bien, ahora que ya hemos visto algo de teoría, vamos a ver cómo crear objetos en PHP. Lo primero que necesitamos es una clase, que serán los planos de nuestros objetos. Vamos a seguir con el ejemplo de los coches y vamos a hacer la clase “coche”:
<?php
class Coche {
var $color;
var $marca;
}
?>
Aquí hemos creado una clase muy sencilla. Todas las clases deben declararse como “class” seguido del nombre de ésta, el cual llevará la primera letra en mayúscula. ¿Por qué? Por convenio entre programadores. Las clases siempre llevan la primera letra mayúscula. Esto favorece la rápida lectura del código cuando se está revisando, o si formamos parte de un proyecto con más gente. Es importante que lo recordéis. Por otro lado, las mencionadas propiedades son variables comunes, las cuales deben declararse como lo estipula cada lenguaje. En este caso, en PHP, todo lo que nosotros veamos con el símbolo “$” delante, es una variable, ya sea del sistema o creada por nosotros.
Bien, ahora que ya tenemos nuestra clase creada, vamos a ver como usarla para empezar a generar objetos. En nuestro caso, registrar coches nuevos. Vamos a registrar un Ford de color azul:
<?php
class Coche {
var $color;
var $marca;
}
$coche1 = new Coche(); //instanciamos la clase
$coche1->color = ‘Azul’; //asignamos un color
$coche1->marca = ‘Ford’; //asignamos una marca
?>
Bien, aquí observamos una ligera diferencia a la hora de declarar. Pese a que coche1 puede actuar como una variable, ya que lleva el “$” delante, en este caso es un objeto. Eso implica que, a diferencia de las variables, tendrá unas propiedades predefinidas las cuales debemos determinar. Por esa razón, no lleva el var delante. Yo he escrito “coche1”, pero podéis llamarlo como vosotros queráis. Es un nombre que nosotros les damos a los objetos, pero lo recomendable es que tengan coherencia entre ellos. Es decir, si le llamamos coche1 a este objeto, no llamemos “manolo” al siguiente, y prácticas de este estilo. Recordad que la coherencia y el orden es muy importante.
Finalmente, vamos a hablar de la variable $this, la cual dentro de una clase hace referencia a si misma. Gracias a ella, por ejemplo, podemos poner alguna función dentro de la misma clase sin tener que escribir código extra, ya que “this” sustituye el tener que volver a escribir la propiedad en cuestión.
Esto es sólo una introducción muy sencilla a la programación orientada a objetos enfocada a PHP. Eso si, antes de aventuraros a esto os recomiendo encarecidamente dominar el lenguaje, ya que esto es una optimización de él. Sin la base, tratar de estudiar esta parte es meterse en camisa de once varas, algo que empeorará vuestra experiencia de aprendizaje.
¿Os parece complicado? Sé que esto ya es más complejo, lo admito, pero dominar la POO os garantiza un punto extra en vuestro currículum como programadores muy favorable para las empresas, ya que se pide mucho. De hecho es casi obligado que un programador tenga, al menos, alguna toma de contacto con ello.
Curso relacionado: Curso de Creación y Desarrollo de Páginas Web