A partir de ahora vamos a entrar en la programación orientada a objetos, POO para los amigos. En las técnicas de programación utilizar objetos es básico para poder hacer programas bien estructurados que se puedan reutilizar o modificar.
En programación, una clase es un objeto, y un objeto es una clase. Éstas clases de PHP tienen unas variables y unos métodos o funciones.
Dicho ésto vamos al grano.
Una primera clase básica
A continuación tenemos un objeto, que es una clase de PHP. Éste objeto representa un avión que está en unas coordenadas, tiene un tipo de motor, cierta matrícula, y está en un estado determinado. Por ejemplo:
<?php // se declara el objeto class Avion { // variables public $x, $y, $z; private $tipoMotor; public $matricula; private $estado; // a partir de aquí estan las funciones // constructor de la clase function __construct() { $this->x = $this->y = $this->z = 0; $this->tipoMotor = 1; $this->matricula = "No definida"; $this->estado = "No definido"; } public function getTipo() { switch ($tipoMotor) { case 1: $descripcion = "Hélices"; break; case 2: $descripcion = "Propulsión a chorro"; break; default: $descripcion = "Tipo no encontrado"; } return $descripcion; } public function getEstado() { return "El avión con matrícula >" . $this->matricula . "< está: " . $this->estado; } public function despegar() { $this->estado = "Volando"; } public function aterrizar() { $this->estado = "Esperando"; } public function setMatricula($m) { $this->matricula = $m; } // destructor de la clase function __destruct() { echo "El avión con matrícula >" . $this->matricula . "< se ha destruido."; } } // fin del objeto // a partir de aquí éste código usa el objeto avión $miavion = new Avion(); $miavion->setMatricula("ABC123"); $miavion->despegar(); dispose($miavion); echo "Mi avión está en (" . $miavion->x . ", " . $miavion->y . ", " . $miavion->z . ")<br>"; echo $miavion->getEstado() . "<br>";
Para empezar los objetos se crean usando la palabra reservada class. Tenemos dos partes principales dentro de la clase. La primera parte donde se declaran las variables, y después las funciones para ejecutar los algoritmos de programación.
Tenemos $this, que es especial. ¡Ojo! ésta variable es muy importante. Representa la clase, se usa dentro de dicha clase, y con ella accederemos a las variables y funciones cuando desarrollemos dicha clase. Con el símbolo -> después del $this accederemos así: $this->variable
De igual manera con el objeto $miavion->nombreDeVariable o $miavion->nombreDeFuncion() fuera de la clase.
Los tipos básicos de variables y funciones son public y private. Los private, como su nombre indica, son privados y sólo se pueden usar dentro de la clase. Los públicos se pueden usar desde fuera. Si vemos abajo del todo en la línea 62 de código se usa $miavion->x porque x es una variable pública. No podremos por ejemplo acceder a la variable estado de la forma $miavion->estado porque es privada. Lo mismo pasa con la variable $tipoMotor, no podemos acceder directamente, por ello se declara la función getTipo() que lo hace por nosotros y nos dice el tipo de motor que tiene el avión.
Constructor y destructor de una clase
El resto de funciones no tiene misterio, salvo dos especiales, el constructor y destructor de la clase. Si ejecutamos el ejemplo nos mostrará lo siguiente:
Mi avión está en (0, 0, 0) El avión con matrícula >ABC123< está: Volando El avión con matrícula >ABC123< se ha destruido.
El constructor empieza en la línea 14 y el destructor en la 50. Éstas dos funciones se ejecutan automáticamente cuando se crea un objeto avión y cuando se destruye respectivamente. Se suelen usar para hacer tareas de inicialización en el caso del constructor o para terminar procesos con el destructor. En el ejemplo el constructor simplemente le da unos valores a las variables de la clase y el destructor simplemente muestra un mensaje. Al ejecutarlo el ejemplo podemos ver que cuando termina el código PHP se llama automáticamente al destructor.
Terminando
Hay otros tipos de variables y funciones. También se pueden crear varios constructores. Y muchas otras cosas más. Para terminar con éste minitutorial para empezar con los objetos de PHP me remito una vez más a la documentación oficial: http://www.php.net/manual/es/language.oop5.php
Si te ha gustado, te ha parecido útil o quieres que siga escribiendo dale aquí abajo al +1, al me gusta, a compartir, etcétera.. también puede dejar un comentario 😉
Un saludo!