PDF de programación - Orientacion a objetos en PHP

Imágen de pdf Orientacion a objetos en PHP

Orientacion a objetos en PHPgráfica de visualizaciones

Publicado el 8 de Junio del 2018
731 visualizaciones desde el 8 de Junio del 2018
210,9 KB
26 paginas
Creado hace 11a (12/02/2010)
Orientación a
objetos en PHP


Dídac Gil de la Iglesia

PID_00155710

CC-BY • PID_00155710

Orientación a objetos en PHP

Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de Reconocimiento
(BY) v.3.0 España de Creative Commons. Podéis copiarlos, distribuirlos y transmitirlos públicamente siempre que citéis el
autor y la fuente (FUOC. Fundación para la Universitat Oberta de Catalunya). La licencia completa se puede consultar en
http://creativecommons.org/licenses/by/3.0/es/legalcode.es

CC-BY • PID_00155710

Índice

Orientación a objetos en PHP

¿Porqué usar PHP OO?.....................................................................


Introducción...............................................................................................

1.

2. Organización del código..................................................................

3. Reutilización de código....................................................................

4. Multiplicidad.......................................................................................

5. Herencia................................................................................................

6. Visibilidad............................................................................................

7. Sobrecarga de clases..........................................................................

8. Constructores y destructores..........................................................

5

7

9

12

13

17

19

22

24

CC-BY • PID_00155710

Introducción

5

Orientación a objetos en PHP

PHP es un lenguaje de programación estructurado con extensiones de orien-
tación a objetos (OO). A continuación se explica cómo programar siguiendo
una metodología orientada a objetos bajo PHP.

CC-BY • PID_00155710

7

Orientación a objetos en PHP

1. ¿Porqué usar PHP OO?

En PHP, una función declarada en una página PHP podrá ser usada inmedia-
tamente después a su declaración.

Como primera aproximación, uno podría plantearse programar en cada fiche-
ro PHP todas las funciones necesarias que vayan a usarse en el fichero. En
proyectos grandes, esto supone un alto coste de mantenimiento debido a la
complejidad de seguimiento del código y a la duplicación del mismo código
en distintas páginas. En caso de detectarse un error y el código que lo corrige, o
en caso de querer aplicar una mejora en una función, deberán revisarse todos
los scripts PHP para comprobar si contienen la función que hay que corregir.

Sin mucha dificultad puede observarse que la práctica de repetir códigos en
scripts PHP queda lejos de ser una vía óptima para la programación en proyec-
tos.

PHP permite definir clases, que poseen variables (también llamadas propieda-
des) y métodos (funciones). A continuación vemos un ejemplo donde se crea
la clase Matematicas con 2 variables y dos métodos.

Ved también

Dentro de la documentación
en línea disponible en la web
de PHP.net, existe una sección
dedicada a la programación
orientada a objetos. La pro-
gramación OO se introdujo en
PHP versión 4 y ha sido am-
pliada dentro de la versión 5.
En caso de querer exprimir la
OO al máximo en PHP, es re-
comendable realizar una lec-
tura de las funcionalidades dis-
ponibles en OO y de las que
puedan aparecer en futuras
versiones.

CC-BY • PID_00155710

8

Orientación a objetos en PHP

Fichero matematicas_clase.php

Las clases permiten organizar mejor el código, ampliar nuestra productividad
y eficiencia mediante la reutilización de código, la multiplicidad y la versati-
lidad, conceptos que trataremos en los siguientes puntos.

CC-BY • PID_00155710

9

Orientación a objetos en PHP

2. Organización del código

En PHP orientado a objetos, cada clase se programa dentro de un único fichero.

Posteriormente a la creación del fichero con la definición de la clase, pueden
crearse instancias de la clase, llamadas objetos. Si hacemos un símil con el di-
seño de una silla, el prototipo de la silla es la “clase”. Se definen las medidas,
los materiales (variables) y los usos (funciones) que la silla puede tener. Cada
silla física generada a partir de ese diseño será un “objeto” y podrá usarse den-
tro de diferentes ubicaciones, entornos y para diferentes propósitos.

En el siguiente ejemplo, se ha programado una clase llamada Texto que per-
mite: formatear cadenas de texto para imprimirlas correctamente en HTML,
formatear una cadena de caracteres que contenga una consulta SQL para mi-
nimizar el peligro de un ataque de seguridad, concatenar cadenas y eliminar
espacios innecesarios.

CC-BY • PID_00155710

10

Orientación a objetos en PHP

Fichero texto_clase.php

En el fichero aplicacion.php se crea un objeto de la clase texto con el nombre
de $cadena. Sólo mediante la instancia $cadena, podemos acceder a las funcio-
nes existentes dentro de la clase.

CC-BY • PID_00155710

11

Orientación a objetos en PHP

Fichero aplicacion.php

Con la programación orientada a objetos, las clases quedan localizadas dentro
de un único fichero PHP. Durante el proceso de programación, suelen darse
errores dentro del comportamiento de las aplicaciones, por lo que es necesa-
rio efectuar un análisis para detectar la función que está incorrectamente im-
plementada. En la programación orientada a objetos, dada su organización,
solamente será necesario corregir el error dentro de la clase correspondiente,
y todos los objetos de la clase creados se beneficiarán de la corrección.

Por ejemplo, el programador podría detectar que ciertas cadenas al usarse con
htmlspecialchars no son convertidas a lenguaje HTML, por lo que podría pre-
ferir usar la función htmlentities. Si el programador ha creado la clase Texto,
simplemente deberá modificar la función preparar_HTML.

Si, por el contrario, no ha usado la clase, deberá buscar todas las referencias a
htmlspecialchars dentro de su proyecto y sustituirlas por la nueva función, lo
que supondrá una sobrecarga de tiempo, y un alto potencial a olvidarse alguna
referencia sin corregir.

CC-BY • PID_00155710

12

Orientación a objetos en PHP

3. Reutilización de código

La creación de un portal dinámico en PHP suele componerse de páginas de
presentación, formularios, obtención de información existente dentro de ba-
ses de datos, tratamiento de datos obtenidos desde formularios, bases de datos,
portales externos, páginas XML, RSS, etc. Hay funcionalidades comunes a la
mayoría de los proyectos, como la validación de variables o el acceso a bases de
datos, por lo que el programador tiende a reutilizar código implementado en
proyectos anteriores, con lo que incrementa así su eficiencia y evita posibles
errores de programación.

Estamos acostumbrados a reutilizar código de terceras personas continuamen-
te, como por ejemplo la API de PHP, con funciones tales como mysql_query(),
require() o hasta un simple echo().

A mayor escala, un programador podrá aprovechar un subconjunto de las fun-
ciones creadas en proyectos anteriores en sus nuevos proyectos, como por
ejemplo funciones para establecer y gestionar sesiones, o validar los usuarios
en la base de datos.

Sin hacer uso de la programación OO tendríamos nuestro código repartido
en varios ficheros PHP. Además, el código PHP que se podría reutilizar estaría
entremezclado con código HTML del portal.

Usando programación OO, todas las funciones quedarán dentro de una
o varias clases y, por lo tanto, el correspondiente código se encontrará
en un solo fichero PHP, lo que permitirá separar el código PHP de las
líneas HTML. Para usarlo en una página PHP, el programador simple-
mente tendrá que cargar el fichero correspondiente a la clase que quiere
reutilizar en la página PHP. La carga del fichero con la clase se realizará
con la llamada require_once().

CC-BY • PID_00155710

4. Multiplicidad

13

Orientación a objetos en PHP

Como ya hemos detallado, una clase es un “prototipo” que define variables y
funciones que pueden realizarse sobre estas variables.

Una vez definida una clase, podemos instanciar tantos objetos de la
clase como sean necesarios, teniendo todos ellos las características de la
clase, es decir, sus variables y funciones.

Para hacer más simple el entendimiento del concepto multiplicidad, expon-
dremos el siguiente ejemplo.

Dentro de una aplicación web en la que se debe hacer un traspaso de dinero
entre dos cuentas bancarias, existe una cuenta a la que se hará un ingreso de
dinero (cuenta destino, B) que proviene de una cuenta a la que se le deberá
sustraer dicho saldo (cuenta origen, A).

Un traspaso de un saldo supone una consulta de saldo en la cuenta origen y
una actualización en la misma cuenta para restar el saldo que se va a traspasar.
Por la parte del beneficiario, implica una consulta del saldo actual para poder
realizar una actualización que lo incremente con el traspaso.

Para ello, se ha creado una clase Cuenta que permite obtener el saldo de una
cuenta corriente, así como actualizar su saldo.

CC-BY • PID_00155710

14

Orientación a objetos en PHP

Fichero cuenta_clase.php

En la aplicación PHP, se hace uso de la clase creada Cuenta y la clase Matema-
ticas.

CC-BY • PID_00155710

15

Orientación a objetos en PHP

CC-BY • PID_00155710

16

Orientación a objetos en PHP

Dado que se va a trabajar con dos cuentas bancarias, se han instanciado dos
objetos de la clase Cuenta. La multiplicidad es la capacidad de usar múltiples
instancias de una misma clase, con lo que se puede simplificar el código de
una aplicación PHP y mantener el estado de varios objetos al mismo tiempo.

CC-BY • PID_00155710

5. Herencia

17

Orientación a objetos en PHP

En ocasiones, el código no puede reutilizarse tal cual, sino que debe especia-
lizarse o refinarse para tener en cuenta nuevas necesidades. Uno podría crear
una nueva clase, reescribiendo todo el código reaprovechable en ella e incluir
también las nuevas utilidades implementando las funciones n
  • Links de descarga
http://lwp-l.com/pdf11707

Comentarios de: Orientacion a objetos en PHP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad