44
Programação Orientada a Objectos e Acesso a Dados com PHP Conferencia 10 MSc. Yoenis Pantoja Zaldívar Programação Web

Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Programação Orientada a

Objectos e Acesso a Dados

com PHP

Conferencia 10

MSc. Yoenis Pantoja Zaldívar

Programação Web

Page 2: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

O modelo de objectos em PHP 5.

– Objectos

– Classes

– Encapsulamento, Herança, Polimorfismo

– Outras características

Os Bancos de Dados nos Aplicativos Web.

– Recordatorio do linguagem SQL.

– Acesso à PostgreSQL com PHP.

Resumo

Page 3: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Identificar as características da

Programação Orientada a Objectos no

linguagem PHP para desenvolver

Aplicativos Web robustos.

Identificar os pasos lógicos e as principais

funções do linguagem PHP para o acesso

a Bancos de Dados PostgreSQL.

Objectivos

Page 4: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

GUTMANS, A., SÆTHER, S., y RETHANS, D.

PHP 5 Power Programming. 2005. Chapter 3.

Disponible en: http://progwebisutic.wordpress.com

JASON, W. y TREAT, R. Beginning PHP and

PostgreSQL 8. Capítulos 30 y 31. Disponible en:

http://progwebisutic.wordpress.com

PHP DOCUMENTATION GROUP. PHP Manual.

Disponible en: http://progwebisutic.wordpress.com

Bibliografía

Page 5: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Herança

Objecto

Classe

Polimorfismo

Proteção de

acesso

Atributo

Método

Conceitos básicos

Page 6: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Paradigma de programação que usa

objectos e suas relações, para desenhar

aplicativos e programas informáticos.

Baseado em varias técnicas como

herança, abstração, polimorfismo e

encapsulamento.

Programação Orientada à Objectos

Page 7: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Objecto: Entidad do problema (objecto do mundo real ou conceptual) com um identificador único, que tem um conjunto de propriedades que são definidas nos atributos e apresenta um comportamentoatravés dos métodos.

Classe: Plantilla para os objectos envolvidos num sistema, é o tipo de dado dos objectos que são instancias de ela.

Objectos e classes (em software)

Page 8: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

class NomeDaClasse

{

// atributos e métodos

}

Classes: Declaração

É usada a palavra reservada class

Page 9: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Proteção de acesso

Existen três palavras clave (modificadores

de acesso):

public private protected

Para os atributos é preciso especificar o modificador de acesso.

Para os métodos pode obviarse e toma como valor public

Page 10: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

class NomeDaClasse

{

// atributos

private $atributo1,

$atributo2;

}

Definição de atributos

Sempre é declarado o modificador de

acesso: private, protected o public

Page 11: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

// acesso à um atributo desde um método

$this->atributo1;

Atributos: Acesso interno

É usada a variável $this e a notação ->

Page 12: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

// Con dois ‘underscoard’ antes do palavra constructor

function __construct($a1, $a2) {

$this->atributo1 = $a1;

$this->atributo2 = $a2;

}

Métodos

O constructor de uma classe é um método

chamado __construct()

Page 13: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Herança: Comportamento através do qual

as classes filhas podem heredar, ou seja,

ter acesso tanto à os atributos como à os

métodos de uma classe pai.

Polimorfismo: Um objecto polimórfico é

uma entidad que pode conter valores de

diferentes tipos durante a ejecução do

programa.

Herança e polimorfismo

Page 14: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

class ClasseFilha extends ClassePai {

private $b;

function __construct($a, $b) {

parent::__construct($a);

$this->b = $b;

}

}

Herança

É usada a palavra reservada extends

Page 15: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

class ClassePai {

function MetodoX() {

// implementação

}

}

class ClasseFilha extends ClassePai {

function MetodoX() {

// implementação

}

}

Polimorfismo

Page 16: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

class NomeDaClasse {

static function MetodoX() {

// implementação

}

}

// É invocado:

NomeDaClasse::MetodoX();

Atributos e métodos estáticos

É usada a palavra reservada static

Page 17: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

$obj = new NomeDaClasse();

$obj->MetodoY();

Criar instancias de classes

É usada a palavra reservada new

Page 18: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Outros elementos

Uso de interfaces.

Operador instanceof.

Métodos e classes de tipo final.

Classes e métodos abstractos.

Classes reservadas self:: e parent::

Constantes de clase.

Função __autoload()

Page 19: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

estudante

id

nome

ano

horasEstudo

evaluação

disciplina

estudantes

(txt)

¿Cómo obter a

evaluação dos

estudantes de 3ero ano

com menos de 5 horas

de estudo (na semana)?

Situação

Page 20: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Conjunto de dados que

pertenecem à um mesmo

contexto e armazenados

sistemáticamente para seu

posterior uso.

Banco de Dados (BD)

Page 21: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Banco de Dados Relacionais

Permitem relacionar varias tabelas de dados

entre sim, compartilhar a informação, evitar

a duplicidade dos dados e armazenar de

uma forma estruturada e eficiente toda a

informação de um Aplicativo Web.

Page 22: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Algumas BD que soporta PHP

MySQL PostgreSQLOracle

“Sistema de Gestão de Banco de Dados

relacional orientada a objectos de software

livre, publicado baixo a licença BSD”

Page 23: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

PostgreSQL: Características

Máximo de banco de datos : ILIMITADO

Máximo de tamanho de tabela : 32TB

Máximo de tamanho de registro : 1.6TB

Máximo de tamanho de campo : 1GB

Máximo de registros por tabela : ILIMITADO

Máximo de campos por tabela : 250 a 1600

Máximo de índices por tabela : ILIMITADO

Web oficial: www.postgresql.org

Page 24: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

PHP

Para a conexão de PHP à PostgreSQL é preciso ativar a extensão php_pgsql.dll

(ativar no php.ini) (ativar dinámicamente)

dl(‘php_pgsql.dll’);

PostgreSQL

Page 25: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

SQL

LINGUAGEM DE CONSULTAS

ESTRUTURADO

(STRUCTURED QUERY

LANGUAGE)

Page 26: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

SQL

Permite lanzar consultas para

Recuperar informação de interés de um BD de

forma fácil.

Fazer mudanças a os dados.

É um linguagem declarativo.

Page 27: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

SQL

Linguagem de

Definição de

Dados (LDD)

(Data Definition

Language, DDL)

Linguagem de

Manipulaçao de

Dados (LMD)

(Data Manipulation

Language, o DML)

Page 28: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

SELECT

-Selecciona registros de uma tabela-

SELECT expresión FROM tabla

[WHERE condición]

SQL

Page 29: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Exemplo

SELECT nome, avaliação FROM

tb_estudante WHERE horas_estudo < 5

Page 30: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

INSERT

-adiciona um ou mais registros à uma (e

só uma) tabela-

INSERT

INTO tabela [(campo1, …, campoN)]

VALUES (valor1, …, valorN)

SQL

Page 31: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Exemplo

INSERT INTO tb_estudante (id, nome, ano,

horas_estudo, avaliação, disciplina)

VALUES (5, ‘Pepe’, 3, 8, 10, ‘ProgWeb’)

Page 32: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

UPDATE

-modifica os valores de um conjunto de

registros existentes numa tabela-

UPDATE tabela

SET campo1 = valor1 [, campo2 =

valor2,…,]

[WHERE condição]

SQL

Page 33: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Exemplo

UPDATE tb_estudante SET horas_estudo =

6 WHERE nome = ‘Pedro’

Page 34: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

DELETE

-apaga um ou mais registros existentes

numa tabela-

DELETE FROM tabela

[WHERE condição ]

SQL

Page 35: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Exemplo

DELETE FROM tb_estudante WHERE

nome = ‘Pepe’

Page 36: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

ACESSO À BD

DESDE PHP

Page 37: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

pg_connect pg_close

pg_querypg_fetch_assoc

pg_fetch_array

pg_fetch_all

pg_fetch_object

pg_num_rows

(TI)

Page 38: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

1. Conectar com o Servidor de BD.

2. Executar a consulta SQL.

3. Obter e processar os resultados.

4. Fechar a conexão com o Servidor de BD.

Pasos para aceder à BD

Page 39: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

1. Conectar com o Servidor.

$cadena_conexion = “host=localhost port=5432

dbname=bd_docencia user=usuario

password=clave”;

$con = pg_connect($cadena_conexion);

Acesso à PostgreSQL

Page 40: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

2. Executar a consulta.

$sql = “SELECT nome, avaliação FROM

tb_estudante WHERE horas_estudo > 8”;

$res = pg_query($con, $sql);

Nota: $res é de tipo resource

Acesso à PostgreSQL

Page 41: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

3. Obter e processar os resultados

$r = array();

while ($obj = pg_fetch_object($res)) {

$r[] =$obj;

}

foreach ($r as $e) {

echo “$e->nome : $e->avaliação<br/>”;

}

Acesso à PostgreSQL

Page 42: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

3. Obter e processar os resultados

pg_fetch_assoc()

pg_fetch_row()

pg_fetch_object()

pg_affected_rows()

pg_num_rows()

* Consultar Manual de PHP

Acesso à PostgreSQL

Page 43: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

4. Fechar a conexão de BD.

pg_close ($con);

Acesso à PostgreSQL

Page 44: Programação Orientada a Objectos e Acesso a Dados com PHP€¦ · –Recordatorio do linguagem SQL. –Acesso à PostgreSQL com PHP. Resumo Identificar as características da Programação

Programação Orientada a

Objectos e Acesso a Dados

com PHP

Conferencia 10

MSc. Yoenis Pantoja Zaldívar

Programação Web