Clases y Objetos en PHP
Clases y Objetos en PHP
Clases en PHP
Podemos iniciar con código, definiendo un propósito y pensando en que éste
archivo represente algo… Digamos a una persona, aunque pudiera ser un libro,
fruta, email, etc. Llamaremos a nuestra clase Person.
Solo para que puedas familiarizarte con la sintaxis, es bastante similar a una
función. Todo su bloque o código está entre { llaves }
Todo comienza con la palabra reservada class y luego el nombre de la clase
que queremos crear, en este caso Person
Lo correcto es crear un archivo solo para tu clase con el nombre de la clase,
en este caso nuestro archivo se llamaría Person.php
Es una buena práctica nombrar a las clases con la primera letra en mayúsculas,
esto se llama CamelCase y es un estilo de escritura que se aplica a frases o
palabras compuestas. El nombre se debe a que las mayúsculas a lo largo de
una palabra en CamelCase se asemejan a las jorobas de un camello.
De momento no podemos hacer nada con esta clase, pero para que vaya tomando
forma podemos crear propiedades. El objetivo de una propiedad es añadir
características y en cada una de ellas almacenar datos. Ejemplo: Un libro puede tener
título, una persona nombre, una fruta puede tener sabor, un email tiene un asunto
y texto, y así…
Vamos a trabajar solo con nombre y apellido.
Como puedes ver, las propiedades comienzan con la palabra var, en este caso son
variables pero las variables de una clase se llaman propiedades. Aquí usaremos var,
sin embargo, más adelante conocerás todas las alternativas.
Hasta aquí terminamos con las clases, veamos el siguiente paso:
Instancias
Imagina a una clase como un plano o un molde… A partir de aquí nacen los objetos.
Y quiero que solo aprendas esto, instanciar es crear un objeto a partir de una clase,
para ello usamos la palabra reservada new. Veamos:
Archivo Person.php
Archivo index.php
Crear un objeto o crear una instancia es lo mismo y se logra usando la palabra new,
toma en cuenta que esto sucede gracias a que ya contamos con la clase Person. En
este ejemplo, nuestro objeto se llama $person… Ya el objeto vive, existe al escribir
$person = new Person;
Lo interesante es que ya dentro de $person están disponibles las propiedades y
podemos usarlas.
Usar una propiedad solo consiste en hacer uso del operador de objeto ->, que es un
guion – seguido con un mayor que > (forma una flechita hacia la derecha). Luego
escribimos el nombre de la propiedad que deseamos usar, en este caso name y
queda así $person->name;
NOTA: De momento, al escribir $person->name; no verás nada en el
navegador.
Método
En una clase, una función común y corriente se le llama método y es donde vamos
a colocar nuestro código o lógica.
Veamos cómo se define:
Archivo Person.php
Archivo index.php
De nuevo usamos la palabra reservada function, pero en este caso para definir un
método. Recuerda: Las funciones en nuestras clases se le llaman métodos , aquí
podemos ver que nuestro método se llama greet() y solo retorna un Hola, cómo
estás?
Al crear un objeto podemos ejecutar al método usando el operador “flechita” ->
(este sirve para asignar variables, asignar valor y acceder a métodos)
$this
Nuestra clase tiene propiedades y métodos, así que es muy probable que
necesitemos acceder a ellas. Y si, están disponibles para nosotros, y podemos
acceder a ellas usando al gran $this.
$this es una referencia a la instancia actual, si escribimos $this->name es como decir
mi nombre. Su uso es para acceder a propiedades y métodos desde dentro de un
método de la clase.
Archivo Person.php
Archivo index.php
Archivo index.php
Aquí toma en cuenta lo siguiente, usamos el método especial __construct() cuando
necesitamos iniciar con algo de datos, ejemplo: La clase email necesita para enviar
el mensaje un asunto, un remitente, un destinatario y un texto final… Entonces
iniciamos esta clase con datos y luego procedemos a enviar el mensaje.
Aquí si veremos un nombre impreso en pantalla, porque lo hemos grabado en la
clase justo en el momento en que creamos el objeto $person = new Person(‘Italo’,
‘Morales’);
En este caso los objetos se llaman $client y $seller, cada uno es una persona y nacen
a partir de la clase Person y eso es reutilización de código, puedes notar que hay una
sola clase y dos objetos. ¡Esto es magia!
Esto es lo que debemos conocer de las clases y objetos.
Resumen
Una clase es un molde.
Un objeto es formado a partir de un molde (una clase).
La estructura de una clase: Inicia con la palabra class, propiedades,
constructor y métodos.