Sesion2 Php Oo Y Mysql

29
1 <? Sesion2 PHP OO y MySQL ?> Hugo Flores Hugo Flores Analista de Sistemas hpfloresj.blogspot.com Curso de PHP Diciembre 29, 2007

Transcript of Sesion2 Php Oo Y Mysql

Page 1: 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

Page 2: Sesion2 Php Oo Y Mysql

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

Page 3: Sesion2 Php Oo Y 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)

Page 4: Sesion2 Php Oo Y Mysql

4

Características de la POO

EncapsulamientoEncapsulamiento

HerenciaHerencia

AbstracciónAbstracción

PolimorfismoPolimorfismo

Page 5: Sesion2 Php Oo Y Mysql

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

Page 6: Sesion2 Php Oo Y Mysql

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

Page 7: Sesion2 Php Oo Y Mysql

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

Page 8: Sesion2 Php Oo Y Mysql

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í

Page 9: Sesion2 Php Oo Y Mysql

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

Page 10: Sesion2 Php Oo Y Mysql

10

Polimorfismo seudocódigoPolimorfismo seudocódigo

Características de la POO

Page 11: Sesion2 Php Oo Y Mysql

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

Page 12: Sesion2 Php Oo Y Mysql

12

Clases y objetos

PHP: las clases son declaradas mediante class

Crear un objeto

Page 13: Sesion2 Php Oo Y Mysql

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.

Page 14: Sesion2 Php Oo Y Mysql

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.

Page 15: Sesion2 Php Oo Y Mysql

15

Modificadores de acceso

¿Cuál es el resultado?

Page 16: Sesion2 Php Oo Y Mysql

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 ){...}}

Page 17: Sesion2 Php Oo Y Mysql

17

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

Constructores

¿Cuál es el resultado?Probar esta clase

Page 18: Sesion2 Php Oo Y Mysql

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){}

Page 19: Sesion2 Php Oo Y Mysql

19

Herencia y Polimorfismo

HerenciaHerencia● Declaración de clases y derivación

class subclase extends superclase{

//Cuerpo de la clase }

Page 20: Sesion2 Php Oo Y Mysql

20

● Ejercicio: Implemantar

Herencia y Polimorfismo

Page 21: Sesion2 Php Oo Y Mysql

21

● Ejercicio: Implemantar

Herencia y Polimorfismo

Page 22: Sesion2 Php Oo Y Mysql

22

● Ejercicio: Implemantar

Herencia y Polimorfismo

Page 23: Sesion2 Php Oo Y Mysql

23

Herencia y Polimorfismo

PolimorfismoPolimorfismo

Page 24: Sesion2 Php Oo Y Mysql

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 );

Page 25: Sesion2 Php Oo Y Mysql

25

SMDB MySQL operaciones básicas

Funciones de MySQLFunciones de MySQL

Page 26: Sesion2 Php Oo Y Mysql

26

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

Page 27: Sesion2 Php Oo Y Mysql

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

Page 28: Sesion2 Php Oo Y Mysql

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.

Page 29: Sesion2 Php Oo Y Mysql

29

https://masterlinegroup.blogspot.com

Gracias por su atención