Está en la página 1de 22

Programación de Componentes Web

Open Source
UNIDAD Nº II

www.iplacex.cl
SEMANA 3

Introducción:

Como programador, será requerido que manejes la orientación a objetos usando


lenguaje de programación php. En este curso, conocerás las ventajas que la orientación
a objetos y este lenguaje te pueden proveer

Ya hemos aprendido a usar php sobre la web de manera simple y eficaz. Ahora
comenzaremos a trabajar de una manera más eficiente aplicando técnicas y paradigmas
de programación.
¿Te has preguntado si es posible aplicar la programación orientada a objetos en php?
La respuesta es sí. De hecho, la mayoría de los lenguajes de programación hoy en día,
poseen esta característica, ya que la POO es una metodología mucho más eficiente y
manipulable para desarrollar nuestros proyectos.

www.iplacex.cl
SEMANA 3

Introducción a la programación orientada a objetos con php

Comencemos por entender cómo se implementan las clases en php:


Para crear una clase, debemos comenzar por declarar la palabra class, seguida de un
nombre que la identifique. Por convención, debemos comenzar con la primera letra
mayúscula, o utilizar la notación Camel Case, la cual define el estilo o manera de escribir
una palabra en un contexto de programación.
Si tuviéramos que componer el nombre de la clase con un nuevo texto, sólo debes
agregarlo sin espacios en blanco y comenzando con la primera letra en mayúsculas.
Luego, entre llaves, o en el cuerpo de la clase, declaramos las propiedades y métodos
que necesitemos.

www.iplacex.cl
SEMANA 3

Para definir la visibilidad que estos tendrán, podemos utilizar las palabras reservadas
Public: permite que el elemento sea accedido a nivel público.
Private: convierte en privado el elemento, y sólo puede ser accedido desde la misma
clase que lo contiene.
Protected: permite que el elemento sea accedido desde la misma clase que lo contiene
o por las clases que lo heredan.

Otro punto vital desde el contexto de una clase, es que con php podemos crear un
constructor, pero debes tener en cuenta que por cada clase declarada en php se puede
definir sólo 1.

www.iplacex.cl
SEMANA 3

Para definir un constructor debemos comenzar por utilizar la palabra reservada function
y luego construct. Esta última, comienza con doble guion bajo. Finalmente, se agregan
los paréntesis de inicio y cierre para definir los argumentos que necesitemos.

www.iplacex.cl
SEMANA 3

Como vemos en la siguiente imagen, estamos creando un constructor que no recibe


parámetros y que en su interior, establece valores a sus 2 propiedades.

Para esto, se usa la palabra o psedo variable this, seguido de un guion medio y el signo
>, como haciendo referencia a una flecha. Teniendo esto previamente definido, debemos
usar la propiedad o atributo que queramos manipular.

www.iplacex.cl
SEMANA 3

En este otro ejemplo, estamos creando un constructor que recibe 2 parámetros y los
utiliza para modificar los valores de sus atributos o propiedades.

www.iplacex.cl
SEMANA 3

Si quisiéramos invocar una clase desde otro contexto o archivo, debemos referenciarla
Para esto, tenemos las palabras reservadas
Include:
Include once
Require
Require once

En donde include quiere decir que utilizaremos la clase o archivo, y si llegase a tener
algún problema de referencia, nos mostrará una advertencia o warning por pantalla, y el
script continuará ejecutándose.
Si usamos required y tuviéramos algún problema de referencia, php nos enviar un
mensaje de error crítico, y el script no continuará ejecutándose.
Include once y required once mantienen la misma filosofía antes explicada, pero la
palabra once indica que el archivo sólo se cargará una vez y así evitaremos el problema
de caer en redeclaraciones de las variables, funciones o métodos que contengan los
archivos.

Para manipular una clase, debemos crear su instancia a través de la palabra reservada
new, y el nombre de la clase, seguido del paréntesis que contendrán los argumentos del

www.iplacex.cl
SEMANA 3

constructor. Esta instrucción nos creará un objeto, el cual lo definiremos con un nombre
acorde a su finalidad.

Para modificar las propiedades, sólo basta con llamar al objeto contenedor, agregar el
guion o signo menos, seguido del signo >, ingresamos el nombre de la propiedad, y con
esto, ya podemos establecer el valor que queramos, dependiendo de su tipo de dato.
Si quisiéramos obtener o mostrar los valores de una propiedad, sólo debemos llamar al
objeto representante y luego al nombre de la propiedad que necesitemos.

Para implementar accesadores y mutadores en php basta con definir sus métodos
correspondientes o uno relacionado con la obtención de la propiedad y el otro que
permita establecer el valor para ésta. Todo esto con el fin de generar niveles de seguridad
sobre nuestras clases y atributos. Es por este motivo que se hace necesario ocultar las
propiedades o atributos de la clase y definir como método público a sus accesadores y
mutadores.

www.iplacex.cl
SEMANA 3

En esta imagen podemos ver cómo son declarados estos métodos, manteniendo un
nombre coherente o en relación a la propiedad.
Por ejemplo, si la propiedad se llama nombre, definiremos como mutador el método
setNombre y como accesador, getNombre. Cómo este último debe retornar el atributo,
se utiliza la palabra reservada return, seguido del nombre de la propiedad o atributo.

10

www.iplacex.cl
SEMANA 3

Para implementar los métodos mutadores y accesadores de una clase sólo basta con
crear su objeto representante e invocar en los métodos declarados.
Como vemos en la imagen, estamos invocando al método mutados setNombre, el cual
establecerá el valor de una cadena de texto. Finalmente, para mostrar el valor recién
asignado al atributo, sólo basta con invocar al método accesador, getNombre. Recuerda
que el nombre de cada método debe ser coherente con lo que éste representa.

11

www.iplacex.cl
SEMANA 3

Implementando Herencia con PHP

Otro concepto vital que debes conocer dentro de la programación orientada a objetos en
php, es la herencia. Este principio afecta la manera en que muchas y objetos se
relacionan entre sí. Por ejemplo, cuando se extiende o hereda una clase, las subclases
heredan todos los método público y protegidos de la clase padre.

12

www.iplacex.cl
SEMANA 3

A menos que una clase sobreescriba esos métodos, se mantendrá su funcionalidad


original. Esto nos hace más eficiente el trabajo, ya que, con esta metodología, no será
necesario crear nuevas funcionalidades si es que ya las contiene la clase padre.
Veamos un ejemplo:

Crearemos la clase padre, vehículo, la cual contendrá un atributo llamado marca, junto
con sus métodos accesadores y mutadores. Esta será la clase raíz o padre, de la cual,
las subclases que vayamos creando heredarán sus métodos y atributos.

Ahora crearemos una clase hija o heredera de la clase padre vehicula. Tendrá como
nombre Camion. Para que herede de la clase padre, usaremos la palabra reservada
extends, y, luego el nombre de la clase padre.

13

www.iplacex.cl
SEMANA 3

Aplicando esta misma metodología, crearemos una segunda clase heredera de la clase
padre vehiculo, llamada camioneta. Como puedes ver, ninguna de las dos clases
herederas tiene atributos ni métodos definidos en su interior.

En la siguiente imagen, estamos creando la instancia de la clase camión y utilizando los


métodos set marca y get marca de la clase Vehículo, ya que estos fueron heredados.

14

www.iplacex.cl
SEMANA 3

Si ejecutamos nuestra página, el resultado será el siguiente:

Aplicando la misma metodología, crearemos la instancia para la clase camioneta y


mostraremos sus datos por pantalla:

15

www.iplacex.cl
SEMANA 3

Como puedes ver, la herencia nos permite trabajar bajo una lógica bastante cómoda y a
la vez, no ahorra bastante trabajo sobre nuestros proyectos.

De esta manera, sólo debemos enfocarnos en reutilizar lo que ya está hecho.

16

www.iplacex.cl
SEMANA 3

Declarando e invocando Funciones con PHP

Otra de las utilidades que posee php, es la implementación de funciones. Estas nos
permiten agregar o extender las características o funcionalidades de una solución.
En la siguiente imagen, podemos ver la sintaxis usada para declarar una función, en
donde lo que irían en los paréntesis, serían los argumentos o parámetros si es que los
tuviera, y entre las llaves, las instrucciones que configurarían la funcionalidad.

17

www.iplacex.cl
SEMANA 3

Como podemos ver en la imagen, estamos declarando funciones. La primera con el


nombre saludar que sólo imprime por pantalla “Bienvenido”.
La segunda, con el nombre SaludarConParámetros, que recibe un parámetro llamado
nombre, el cual será concatenado al texto bienvenido para luego ser mostrado por
pantalla.

18

www.iplacex.cl
SEMANA 3

Para ejecutar una función, sólo debemos invocar su nombre con los argumentos
correspondientes. En este ejemplo, estamos invocando las dos funciones que
declaramos anteriormente.

Si ejecutamos este ejercicio, obtendremos el siguiente resultado:

19

www.iplacex.cl
SEMANA 3

En la siguiente, imagen,e stamos declarando una función llamada RetornaSaludo, la cual


recibe el parámetro nombre . EN el cuerpo de la función podemos que se está creando
una variable llamada saludo, que contiene una cadena de texto concatenada, la cual es
retornada a través de la palabra reservada return.

20

www.iplacex.cl
SEMANA 3

Para ejecutar esta función, sólo basta con invocar el nombre con el que se declaró.
En este caso, guardaremos en una variable la cadena de texto que esta retorna para
luego mostrar el contenido.

21

www.iplacex.cl
SEMANA 3

Realiza este ejemplo, ejecútalo en tu navegador, y obtendrás el siguiente resultado:

22

www.iplacex.cl

También podría gustarte