Este documento fornece uma introdução aos conceitos básicos de PHP, orientação a objetos em PHP, frameworks AJAX e PHP, bancos de dados MySQL, modelagem de banco de dados e padrões para desenvolvimento web.
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
Desenvolvimento Web Avançado usando PHP
1. Desenvolvimento Web Avançado usando
PHP: conceitos básicos, perspectivas e
tendências
Thiago Jabur Bittar
thiago@aptor.com.br
27 de Setembro de 2007
2. Conceitos Básicos de PHP
• PHP: quot;PHP Hypertext Preprocessorquot;
• Tecnologia de código livre
– Criada Rasmus Lerdorf (Dinamarca)
Andi Gutmans e Zeev Suraski (Israel)
• Pode ser incorporado como módulo de um
servidor web
– IIS e Apache (Windows e Unix)
• www.php.net
– informações detalhadas
– manual
• Linguagem interpretada
6. Orientação a Objetos em PHP
• A palavra-chave class indica uma declaração de
classe, delimitada por chaves.
• Dentro da classe podemos definir
– atributos (variáveis) e
– métodos (funções)
• Formam o estado e o comportamento do objeto.
• Um método com o mesmo nome da classe é o
construtor do objeto, sendo executado sempre que
uma instância for criada.
• A classe deve utilizar a variável $this para
referenciar seus próprios métodos e atributos
7. Uma classe simples
class ContaCorrente
{
var $saldo;
function ContaCorrente ($valor) {
$this->saldo = $valor;
}
function saque ($valor) {
if ($this->saldo >= $valor)
$this->saldo = $valor;
}
function deposito ($valor) {
$this->saldo += $valor;
}
}
8. Utilizando uma classe
• A definição da classe deve estar
disponível no script ou página PHP que
utiliza a classe
– comandos include ou require
• Um objeto da classe deve ser instanciado
pelo operador new.
• O operador -> permite referenciarmos
atributos e métodos do objeto
9. Utilizando a classe
<?php
include quot;ContaCorrente.phpquot;;
$conta = new ContaCorrente (1000.0);
echo (quot;Saldo inicial: { $conta->saldo }<BR/>quot;);
$conta->saque (150.0);
echo (quot;Novo saldo: {$conta->saldo}<BR/>quot;);
?>
10. IDEs para desenvolvimento WEB
• Eclipse
– Vantagens:
• Suporte a inúmeros plugins, inclusive de
modelagem;
• Independente de linguagem, ambiente
único
11.
12. IDEs para desenvolvimento WEB
• Dreamweaver
- Desenvolvedor de códigos web
- (.php, .asp, .js, .html, .xml, e etc)
- Oferece mais auxílios para programação
web do que outros ambientes
- Facilidade de configuração
- Integração a servidores
13. Dreamweaver
Definição da
aplicação em
que se deseja
trabalhar
14.
15.
16. IDEs para desenvolvimento WEB
• Delphi for PHP
– http://www.codegear.com
– IDE Visual para PHP
– Aumento de produtividade
– Arquitetura de Componentes
– Baseado em scripts e bibliotecas populares
e código aberto
17.
18. AJAX
• Asynchronous Javascript And XML
– Recuperação assíncrona de dados
• objeto XMLHttpRequest;
– Apresentação baseada em padrões, usando
XHTML e CSS;
– Exposição e interação dinâmica usando o DOM;
– Intercâmbio e manipulação de dados usando
XML e XSLT;
– JavaScript une as tecnologias.
19. Frameworks Ajax
• Prototype
– http://www.prototypejs.org/
- Objetiva facilitar o desenvolvimento de
aplicações dinâmicas na Web
- manipulação de DOM
- tratamento de eventos
20. Frameworks Ajax
Sajax
• É uma ferramenta Open Source para fazer
a programação Web, utilizando Ajax, o
mais fácil possível
• http://www.modernmethod.com/sajax/
• Possui diversos exemplos e tutoriais no
próprio site
21. Frameworks Ajax
• Mootools
– http://mootools.net/
– Escrever códigos elaborados, flexíveis e
compatíveis com diversos navegadores
22.
23. Framework PHP
• CakePHP
– http://www.cakephp.org/
– http://manual.cakephp.org/
– Convenção ao invés de configuração
• ao contrário de outros frameworks onde
existem enormes XML de configuração de
aplicativo;
– Arquitetura MVC (Model, View, Controller)
– Pastas da aplicação estruturadas
24. Integração e intercâmbio - XML
• XML (eXtensible Markup Language)
– padrão da W3C para gerar linguagens de
marcação para necessidades especiais
– capaz de descrever diversos tipos de
dados
– separação do conteúdo e da formatação
– legibilidade
25. Folha de estilos - XSL
– XSL – eXtensible Stylesheet Language
• pode ser usada para transformar XML em
HTML
– Consiste de três métodos:
• transformar documentos XML
• definir partes e padrões do XML
• formatar documentos XML
26. SGBD MySQL
• O MySQL foi criado na Suécia por David
Axmark, Allan Larsson e Michael Widenius
• Usa a SQL(Structured Query Language) e
seus padrões
• Livre para aplicativos Web
• www.mysql.com
• A versão mais atual é a 5.0 (há a versão
Beta 5.1)
• Considerado um dos SGBD mais
eficientes para a Web
28. SGBD MySQL
• Segue a sintaxe da SQL
Ex: CREATE, DROP, INSERT, SELECT,
UPDATE, etc.
• Comando de criação de uma tabela de
teste:
CREATE TABLE pessoa(
id_user INTEGER AUTO_INCREMENT,
nome VARCHAR(80),
telefone VARCHAR(10),
PRIMARY KEY(id_user)
);
29. SGBD MySQL
Exemplos de Comandos com MySQL:
- SELECT * FROM pessoa;
- SELECT nome, tel FROM pessoa;
- INSERT INTO pessoa (nome, tel, cpf) VALUES
(‘Andre’,’00-00001111’,’01100110188’);
- UPDATE pessoa SET nome = ‘Andree’ WHERE
cpf = ‘01100110188’;
30. phpMyAdmin
• phpMyAdmin
– ferramenta desenvolvida com PHP
– para o gerenciamento de banco de dados
MySQL.
• Sua primeira versão foi lançada em 1998
• http://www.phpmyadmin.net
31.
32. Modelagem de BD
• DBDesigner
– Criação Gráfica do Modelo Entidade
Relacionamento
– Geração dos comandos SQL para a
criação do BD Modelado
33.
34. MySQL + Apache + PHP
Esse três softwares livres são
grandemente utilizados, pois além de
gratuitos, são de alta qualidade
Softwares que instalam e configuram os 3
aplicativos citados em ambiente Windows
- Serv-n
- VertrigoServ
- também inclui o phpMyAdmin
- http://vertrigo.sourceforge.net
35. VertrigoServ
• Facilidades para
configuração do
ambiente de
desenvolvimento.
36. Padrões Web
• Procure utilizar padrões de interface Web
– minimizará o tempo de desenvolvimento
– ajudará a trazer maior usabilidade ao
usuário
– melhores práticas
37. Padrões de Welie
• Para design de interação
Mais de
125
padrões.