Desenvolvimento Web III Manipulação de Dados em PHP (Integração PHP e MySql) Parte 1 Prof. Mauro Lopes 1-31 21
Objetivos Nesta aula iremos trabalhar a manipulação de banco de dados através da Linguagem PHP. Iremos apresentar a manipulação usando o PDO (Php Data Object). Esta é a nova forma de manipular banco de dados oriunda da versão PHP 5. Para melhor assimilar estes conceitos iremos praticar o assunto abordado usando o exemplo construído em Sala. 2
Plano de Aula O que é PDO; Por que usar PDO; Quais Banco de Dados são Suportados; Instalando o PDO; PHP x SGBD: Arquitetura de Comunicação Usando PDO; 3
O que é PDO PDO (PHP Data Objects) é um módulo de PHP montado sob o paradigma Orientado a Objetos e cujo objetivo é prover uma padronização da forma com que PHP se comunica com um banco de dados relacional; Este módulo surgiu a partir da versão 5 de PHP e vem sendo proposto como padrão para a versão 6; PDO, portanto, é uma interface que define um conjunto de classes e a assinatura dos métodos de comunicação com uma base de dados. 4
Por que usar PDO? Portabilidade Diferentes chamadas para diferentes SGBDs: MySql (mysql_connect), Oracle (oracle_connect), etc; Performance Escrita em Linguagem C; Fácil de usar Faz uso dos conceitos de prepare e statements como na Linguagem Java; Orientada a Objetos e Segura Faz uso do conceito de objetos e métodos e aborda também o tratamento de exceções como na Linguagem Java; 5
Quais Banco de Dados são suportados Microsoft SQL Server / Sybase Firebird / Interbase DB2 / INFORMIX (IBM) MySQL OCI (Oracle Call Interface) ODBC PostgreSQL SQLite 6
Instalando o PDO No Windows: O PDO só precisa ser ativado, editando o arquivo php.ini: extension=php_pdo.dll Nota:Este passo não é necessário para o PHP 5.3 e acima. Habilitar a DLL ligada ao SGBD que irá ser usado: extension=php_pdo.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll Essas DLLs devem existir no diretório do sistema onde as extensões são carregadas dinamicamente. Nas novas instalações AMPs (WAMP, XAMPP, etc), estas configurações já vem ativadas; 7
PHP x SGBD Arquitetura de Comunicação 1ª Ação: Solicitando uma página Pedido da página: www.jogosdefutebol.com.br Solicitação chegando ao Servidor Web Paulo Servidor Web Situação Problema: Paulo jogou na Loteria Esportiva, e precisa saber do resultado dos jogos do final de semana. Ele então acessa o site www.jogosdefutebol.com.br com o objetivo de receber a lista de resultados dos jogos. 8
PHP x SGBD Arquitetura de Comunicação 2ª Ação: Recebendo a página solicitada O Paulo recebe em seu Navegador a página solicitada Retorno da solicitação Paulo Recebendo a Página solicitada: Paulo recebe em seu navegador a página inicial do site solicitado. É hora de procurar os resultados dos jogos!! Servidor Web O Servidor Web, recebe a solicitação, e faz as ação de localizar o recurso solicitado, retornando-o ao cliente caso o encontre ou então envia uma mensagem para informar a falha ao mesmo. 9
PHP x SGBD Arquitetura de Comunicação 3ª Ação: Solicitando uma página, através de um link Pedido da página com o resultado dos jogos. Solicitação chegando ao Servidor Web Paulo Solicitando a página dos Resultados dos Jogos: Paulo, que está curioso para saber dos resultados, clica então no link Resultado dos Jogos e aguarda receber em seu navegador os resultados e finalmente saber se esta milionário. Vamos ver mais de perto esta ação. Servidor Web Vamos ver um pouco mais de perto como esta solicitação é tratada!!! 10
PHP x SGBD Arquitetura de Comunicação 3ª Ação: Solicitando uma página, através de um link Solicitação chegando ao Servidor Web Localizando o arquivo resultado.php HD 1 2 Interpretador PHP acionado pelo Servidor Web 5 Servidor Web 3 4 Arquivo resultado.php encaminhado ao Servidor Web Página PHP resultado.php Arquivo resultado.php localizando no HD. 11
PHP x SGBD Arquitetura de Comunicação 3ª Ação: Solicitando uma página, através de um link O Interpretador PHP recebe do servidor web o arquivo resultado.php e o interpreta. Interpretação linha a linha do arquivo resultado.php 1 2 Servidor Web Página PHP resultado.php 3 4 A partir deste momento é gerada uma intensa comunicação entre o Interpretador PHP e o SGBD. Vamos ver isso um pouco mais de perto. Servidor de Banco de Dados Durante a interpretação é identificado comunicação com o Servidor de Banco de Dados. 12
PHP x SGBD Arquitetura de Comunicação 4ª Ação: Interação entre o Interpretador PHP e o SGBD 2 1ª Ação: criação de um canal de comunicação entre o Interpretador PHP e o SGBD. canal de comunicação: usado para envio dos dados e comandos SQL Servidor de Banco de Dados 1 Interpretação linha a linha do arquivo resultado.php Página PHP resultado.php 13
PHP x SGBD Arquitetura de Comunicação 4ª Ação: Interação entre o Interpretador PHP e o SGBD 2 2ª Ação: Envio dos comandos SQL pelo canal de comunicação previamente criado. canal de comunicação: usado para envio dos dados e comandos SQL Servidor de Banco de Dados 1 Interpretação linha a linha do arquivo resultado.php 3 O SGBD recebe os comandos SQL e processa-os. Após, envia resultado de volta ao interpretador PHP. Página PHP resultado.php 14
PHP x SGBD Arquitetura de Comunicação 4ª Ação: Interação entre o Interpretador PHP e o SGBD 2 3ª Ação: Envio dos dados pelo canal de comunicação previamente criado. Originados dos comandos SQL. canal de comunicação: usado para envio dos dados e comandos SQL Servidor de Banco de Dados 3 O Interpretador PHP recebe os dados e continua a interpretação linha a linha do arquivo resultado.php 1 Página PHP resultado.php Após o processamento pelo SGBD os dados são enviados pelo canal de comunicação e entregue ao interpretador PHP. 15
PHP x SGBD Arquitetura de Comunicação 5ª Ação: Recebendo a página solicitada O Paulo recebe em seu Navegador a página solicitada 3 Retorno da solicitação em HTML 2 Paulo Recebendo a Página solicitada: Paulo recebe em seu navegador a página resultado.php. Nesta página há o resultado de todos os jogos do final de semana. Mas para Paulo, ainda não foi desta vez!!! O Interpretador PHP envia ao Servidor Web o resultado da sua interpretação do arquivo resultado.php resultado.php Servidor Web 1 16
Usando PDO A Partir deste momento iremos trazer os conceitos do PDO com o SGBD MySql; Usaremos para isso a seguinte base de dados: Base de dados: bdlanchonete 17
Usando PDO Vamos Praticar!!! Vamos fazer como nosso amigo ao lado. Vamos entender um pouco mais do PHP praticando!! 18
Perguntas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva 19
Próxima Aula... Integração PHP e MySql usando PDO (Visualizar, Inserir, Atualizar e Excluir) 20
Referências Materiais avulsos da Internet e o Livro PHP: Programando com Orientação a Objetos, Pablo Dall Oglio, 2ª Edição - Editora Novatec, 574 páginas. 21