Sesion2 Php Oo Y Mysql

Post on 14-Jul-2015

4.593 views 0 download

Transcript of Sesion2 Php Oo Y Mysql

1

<? Sesion2 PHP OO y MySQL ?>

Hugo FloresHugo Flores

Analista de Sistemashpfloresj.blogspot.com

Curso de PHP

Diciembre 29, 2007

2

Agenda Que es la POO Características de la POO Clases y objetos Atributos y métodos Modificadores de acceso Constructores Sobrecarga de métodos Herencia y Polimorfismo SMDB MySQL operaciones básicas Conexión entre PHP y MySQL Uso de tools para administrar MySQL

3

Que es la POO● “La POO es un paradigma (modelo) de

programación que facilita la creación de software de calidad, utilizando objetos ligados mediante mensajes, trata de amoldarse al modo de pensar del hombre”.

● Por que Orientado a Objetos?– Se parece más al mundo real– Permite representar modelos complejos– Muy apropiada para aplicaciones de negocios– Las empresas ahora sí aceptan la OO– Las nuevas plataformas de desarrollo la han adoptado

(Java / .NET/PHP)

4

Características de la POO

EncapsulamientoEncapsulamiento

HerenciaHerencia

AbstracciónAbstracción

PolimorfismoPolimorfismo

5

Características de la POOAbstracciónAbstracción● Ignorancia Selectiva

– La abstracción nos ayuda a trabajar con cosas complejas

– Se enfoca en lo importante– Ignora lo que no es importante (simplifica)

● Una clase es una abstracción en la que:● Se enfatizan las características relevantes● Se suprimen otras características

● Una clase debe capturar una y solo una abstracción clave

6

Características de la POOEncapsulamientoEncapsulamiento● Principio que establece que los atributos propios de un

objeto no deben ser visibles desde otros objetos– Deben ser declarados como privados

● Permite abstraer al resto del mundo de la complejidad de la implementación interna

● Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos

● ¿Por qué es útil?– Punto de Control/Validación– Mejor respuesta ante los Cambios

7

Características de la POOHerenciaHerencia• Es una relación entre clases en la

cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch)

• Cada clase que hereda de otra posee:

- Los atributos de la clase base además de los propios

- Soporta todos o algunos de los métodos de la clase base

• Una subclase hereda de una clase base (PHP soporta herencia simple)

+Avanzar()+Detenerse()

-pasajeros

Transporte

Automóvil Avión

Clase BaseClase Base

Clases Derivadas oClases Derivadas o

subclasessubclases

8

Características de la POOPolimorfismoPolimorfismo● Es la propiedad que tienen los objetos de

permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución

● El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así

9

Características de la POOPolimorfismo ejemploPolimorfismo ejemplo

● La definición del método reside en la clase base● La implementación del método reside en la clase

derivada● La invocación es resuelta al momento de ejecución

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

10

Polimorfismo seudocódigoPolimorfismo seudocódigo

Características de la POO

11

● Objeto -> “Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión” (Rumbaugh).

● Clase -> Es una abstracción que:– Enfatiza las características relevantes

(Propiedades y Comportamiento)– Suprime otras características (simplificación)

● Un objeto es una instancia de una clase. (variable cuyo tipo de dato es una clase)

Clases y objetos

12

Clases y objetos

PHP: las clases son declaradas mediante class

Crear un objeto

13

Atributos y métodos● Una clase, tiene un puntero especial al que podemos

referenciar como $this. Si nuestra clase tiene un atributo llamado $atributo, podemos hacer referencia a este desde nuestra clase (métodos) de la siguiente forma $this->atributo

● Los métodos en PHP se declaran anteponiendo la

palabra clave function y no devuelven algún tipo de datos específico.

14

Modificadores de acceso● PHP5 incorpora nuevos modificadores que permiten

controlar la visibilidad de los atributos y métodos y que se añaden delante de las declaraciones.

public

private

protected

Por defecto, acceso desde dentro y fuera dela clase.

Acceso solo desde dentro de la clase. Nose heredan, accedidos por los getters y setters

Acceso solo desde dentro de la clase y siPermite herencia en las subclases.

15

Modificadores de acceso

¿Cuál es el resultado?

16

● Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase.

● Sintaxis

Constructores

class claseX{ public function __construct(){...}//Const. por default public function __construct( $param ){...}}

17

● Ejercicio: Probar la implementación de la siguiente clase

Constructores

¿Cuál es el resultado?Probar esta clase

18

Sobrecarga de métodos

SobrecargaSobrecarga: : varios métodos con el mismo nombre varios métodos con el mismo nombre pero diferente “firma”.pero diferente “firma”.

¿Algún ejemplo?¿Algún ejemplo?

public function HacerDeposito( $importe) {}

public function HacerDeposito( $importe, $acreditar){}

19

Herencia y Polimorfismo

HerenciaHerencia● Declaración de clases y derivación

class subclase extends superclase{

//Cuerpo de la clase }

20

● Ejercicio: Implemantar

Herencia y Polimorfismo

21

● Ejercicio: Implemantar

Herencia y Polimorfismo

22

● Ejercicio: Implemantar

Herencia y Polimorfismo

23

Herencia y Polimorfismo

PolimorfismoPolimorfismo

24

SMDB MySQL operaciones básicas

● En este apartado comprenderemos como realizar operaciones básicas con MySQL como es insertar, actualizar, leer y eliminar registros de una tabla.

● SQL de la bd: sistema

CREATE TABLE `usuario` (`idUsuario` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,`nombre` VARCHAR( 15 ) NOT NULL ,`clave` VARCHAR( 15 ) NOT NULL );

25

SMDB MySQL operaciones básicas

Funciones de MySQLFunciones de MySQL

26

Conexión entre PHP y MySQL● Operación consultar

27

Conexión entre PHP y MySQL● Operación insertar, actualizar y eliminar se hará en

clases y con el uso de la POO para simplificar el trabajo repetitivo.

● Para administrar la bd mysql propondremos la utilización de dos herramientas, Navicat y PhpMyAdmin

28

¿Que se verá en la sesión3?

● Veremos como crear dos clases de persistencia de base de datos, que nos ayudarán a reutilizar nuestro código en las conexiones con la base de datos MySQL a las que llamaremos DBManager y RecordSet.

● Desarrollo de una aplicación web con las operaciones báscias CRUD (Create, Retrieve, Update y Delete) a la que llamaremos wbmusic.

29

https://masterlinegroup.blogspot.com

Gracias por su atención