Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Open Source
UNIDAD Nº II
www.iplacex.cl
SEMANA 3
Introducción:
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
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
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
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
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.
14
www.iplacex.cl
SEMANA 3
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.
16
www.iplacex.cl
SEMANA 3
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
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.
19
www.iplacex.cl
SEMANA 3
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
22
www.iplacex.cl