Programación orientada a objetos II

10
Programación Orientada a Objetos II Yan David Burbano Amariles PROGRAMACIÓN ORIENTADA A OBJETOS II Tomando como base el documento Programación Orientada a Objetos I realizaremos un ejemplo más real de cómo aplicar este paradigma de programación utilizando el lenguaje de programación PHP. Realizaremos el ejemplo para validar sesión de usuario EJEMPLO Creamos nuestra carpeta del proyecto en nuestro servidor de aplicaciones, para este caso utilizaremos EasyPHP. Crearemos dentro de mi carpeta del proyecto los archivos con extensión PHP. 1. index.php 2. conexiondb.php 3. validausuario.php 4. inicio.php El archivo index.php contiene el html del formulario donde el usuario puede iniciar sesión, es la página que recibe al usuario por primera vez. El archivo conexiondb.php contiene los datos de conexión a la base de datos, el nombre del servidor, nombre de usuario y la contraseña (si la tiene) para la base de datos.

description

Programación orientada a objetos. Ejemplo real.

Transcript of Programación orientada a objetos II

Page 1: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

PROGRAMACIÓN ORIENTADA A OBJETOS II

Tomando como base el documento Programación Orientada a Objetos I realizaremos un ejemplo más real de cómo aplicar este paradigma de programación utilizando el lenguaje de programación PHP.

Realizaremos el ejemplo para validar sesión de usuario

EJEMPLO

Creamos nuestra carpeta del proyecto en nuestro servidor de aplicaciones, para este caso utilizaremos EasyPHP.

Crearemos dentro de mi carpeta del proyecto los archivos con extensión PHP.

1. index.php2. conexiondb.php 3. validausuario.php4. inicio.php

El archivo index.php contiene el html del formulario donde el usuario puede iniciar sesión, es la página que recibe al usuario por primera vez.

El archivo conexiondb.php contiene los datos de conexión a la base de datos, el nombre del servidor, nombre de usuario y la contraseña (si la tiene) para la base de datos.

El archivo validausuario.php contiene la clase que recibe los datos pero utilizando en esta oportunidad POO.

El inicio viene siendo el html que recibe o que ve el usuario una vez se haya iniciado sesión de forma satisfactoria.

Page 2: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

index.php

Este código me muestra una página así:

Importante resaltar varias cosas en el archivo index.php

Lo primero es que utilizaremos el método POST para el envío de datos. El action nos indica que vamos a enviar dichos datos a la clase llamada validasesión.php.

Page 3: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

conexiondb.php

Más adelante le agregaremos algo de seguridad a este archivo para que no pueda ser accedido por nadie, ya que son datos muy importantes y confidenciales. Por esta vez y para este ejemplo nos sirve que sea así.

Vamos a definir a continuación nuestro clase que recibe los datos pero utilizando el paradigma de programación orientada a objetos.

Page 4: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

validausuario.php

Varias cosas para explicar:

Si vamos a iniciar sesión con un login y password debemos crear sesiones para cuando el usuario sea correctamente validado. En este caso (PHP) las sesiones se deben iniciar primero y cuando el usuario cierre su sesión se deben destruir.

Para iniciar sesión se utiliza el session_start(); en todos los archivos o clases que utilicen la sesión o en todas las clases que para poder acceder el usuario debe haber iniciado satisfactoriamente una sesión.

Page 5: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

Para destruir la sesión se utiliza session_destroy(); pero este ítem lo veremos más adelante, por ahora utilizaremos el iniciar sesión.

Utilizamos el error_reporting(E_ALL & ~E_NOTICE); para evitar que se nos muestre notificaciones que parecen errores pero que no lo son pero que son incomodos para que el usuario final los visualice.

Colocamos una palabra reservada llamada include_once la cual nos permite llamar el contenido de un clase independiente. En este caso nos será de mucha ayuda ya que solo debemos colocar ese include_once en todas las clases donde requiera la base de datos sin necesidad de colocar el scritp completo de conexión lo cual nos ahorra tiempo.

Luego aplicamos lo básico para la creación de la clase con el objeto y su utilización. Pero vamos a explicarlo con calma y sin dolor…

Nuestra clase se llamara validacionLogin. Tendremos un solo método dentro de mi clase que tendrá el único objetivo de consultar si existe un usuario con los parámetros ingresados y si es válido que me redirija a un página de bienvenida y si no es valido que emita un mensaje donde diga que no es válido el login o el password.

En mi método recibo dos parámetros los cuales son $usuario y $password

Esos datos lo recibo fuera de mi clase validacionLogin, pero ya lo veremos con más detalle.

Tenemos una sentencia sql la cual llamamos en mi variable definida como $SQL, no tiene que llamarse así necesariamente, usted le puede colocar el nombre que desee, tal cual como se definen las variables. Luego por medio de una variable definida como $result sacamos los atributos de la consulta, en este caso yo defino una variable llamada $var1 que tendrá el valor del nombre

Page 6: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

de mi tabla usuariosistema de mi base de datos. Luego por medio de un condicional if verifico que si esa variable es vacia quiere decir que no el usuario y la clave o ambas no coinciden y por lo tanto deducimos que el usuario no existe. En cambio, si sucede al contrario quiere decir que la consulta fue exitosa y por lo tanto la validación se realizó satisfactoriamente.

Si la validación es satisfactoria utilizo algo llamado Variables de Sesión, que son variables cuyo contenido se mantendrá vigente mientras dure la sesión que se inició.

Para definir las variables de sesión se utiliza la siguiente sintaxis.

$_SESSION['nombreSESSION'] = $result['nombre'];

A mi variable de sesión le estoy asignado el valor de mi variable.

Luego redirijo al usuario a la página principal de mi aplicación header

("location: inicio.php");

Fuera de la clase y por el método post recibo los dos datos enviados por medio del formulario de nuestro archivo llamado index.php

Esas dos variables recibidas son las que yo envio por parámetros a mi método que se encarga de validar el usuario. Por eso por medio de mi objeto llamado $ObjPersona le envio los dos parámetros y son los dos parámetros que yo utilizo para mi consulta.

Page 7: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

Es importante aclarar que debemos tener creada ya nuestra base de datos que según mi ejemplo se llama db_ejemploPOO y mi tabla llamada usuariossistema con los campos que se muestran a continuación.

Y claro que ya tenemos usuarios creados previamente para probar nuestro ejemplo.

Y finalmente nuestro archivo donde entra en caso de haber sido validado satisfactoriamente. Utilizamos la variable de sesión creada en nuestra clase. Luego explicaremos como cerrar sesiones y como colocar más seguridad para que no todos puedan ingresar a ciertas páginas de nuestra APP, por ahora es una explicación básica para comprender el concepto de POO en un ejemplo real y sencillo.

Page 8: Programación orientada a objetos II

Programación Orientada a Objetos IIYan David Burbano Amariles

Espero les haya sido de mucha utilidad.

Hasta la próxima

Twitter: @ohohdigoyowww.facebook.com/edufinderpageFacebook: facebook.com/ybrbn