desenvolvimento web avançado usando php

42
Desenvolvimento Web Avançado usando PHP: conceitos básicos, perspectivas e tendências Thiago Jabur Bittar [email protected] 27 de Setembro de 2007

Upload: elliando-dias

Post on 04-Jul-2015

2.367 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Desenvolvimento Web Avançado usando PHP

Desenvolvimento Web Avançado usando PHP: conceitos básicos, perspectivas e

tendências

Thiago Jabur [email protected]

27 de Setembro de 2007

Page 2: Desenvolvimento Web Avançado usando PHP

Conceitos Básicos de PHP

• PHP: "PHP Hypertext Preprocessor"• 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

Page 3: Desenvolvimento Web Avançado usando PHP

Conceitos Básicos de PHP

• Esquema conceitual de uma aplicação Web

Page 4: Desenvolvimento Web Avançado usando PHP

Conceitos Básicos de PHP

• Ambiente de execução - Variáveis

Page 5: Desenvolvimento Web Avançado usando PHP

Hello World

<h1>Exemplo</h1> <?php

$firstvar = "Hello World"; echo $firstvar;

?>

Page 6: Desenvolvimento Web Avançado usando PHP

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

Page 7: Desenvolvimento Web Avançado usando PHP

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

}

Page 8: Desenvolvimento Web Avançado usando PHP

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

Page 9: Desenvolvimento Web Avançado usando PHP

Utilizando a classe

<?phpinclude "ContaCorrente.php";

$conta = new ContaCorrente (1000.0);

echo ("Saldo inicial: { $conta->saldo }<BR/>");

$conta->saque (150.0);

echo ("Novo saldo: {$conta->saldo}<BR/>");

?>

Page 10: Desenvolvimento Web Avançado usando PHP

IDEs para desenvolvimento WEB

• Eclipse– Vantagens:

• Suporte a inúmeros plugins, inclusive de modelagem;

• Independente de linguagem, ambiente único

Page 11: Desenvolvimento Web Avançado usando PHP
Page 12: Desenvolvimento Web Avançado usando PHP

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

Page 13: Desenvolvimento Web Avançado usando PHP

Dreamweaver

Definição da aplicação em que se deseja

trabalhar

Page 14: Desenvolvimento Web Avançado usando PHP
Page 15: Desenvolvimento Web Avançado usando PHP
Page 16: Desenvolvimento Web Avançado usando PHP

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

Page 17: Desenvolvimento Web Avançado usando PHP
Page 18: Desenvolvimento Web Avançado usando PHP

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.

Page 19: Desenvolvimento Web Avançado usando PHP

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

Page 20: Desenvolvimento Web Avançado usando PHP

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

Page 21: Desenvolvimento Web Avançado usando PHP

Frameworks Ajax

• Mootools– http://mootools.net/

– Escrever códigos elaborados, flexíveis e compatíveis com diversos navegadores

Page 22: Desenvolvimento Web Avançado usando PHP
Page 23: Desenvolvimento Web Avançado usando PHP

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

Page 24: Desenvolvimento Web Avançado usando PHP

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

Page 25: Desenvolvimento Web Avançado usando PHP

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

Page 26: Desenvolvimento Web Avançado usando PHP

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

Page 27: Desenvolvimento Web Avançado usando PHP

SGBD MySQL

Exemplo de Tabela do MySQL

Page 28: Desenvolvimento Web Avançado usando PHP

SGBD MySQL

• Segue a sintaxe da SQLEx: 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));

Page 29: Desenvolvimento Web Avançado usando PHP

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

Page 30: Desenvolvimento Web Avançado usando PHP

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

Page 31: Desenvolvimento Web Avançado usando PHP
Page 32: Desenvolvimento Web Avançado usando PHP

Modelagem de BD

• DBDesigner

– Criação Gráfica do Modelo Entidade Relacionamento

– Geração dos comandos SQL para a criação do BD Modelado

Page 33: Desenvolvimento Web Avançado usando PHP
Page 34: Desenvolvimento Web Avançado usando PHP

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

Page 35: Desenvolvimento Web Avançado usando PHP

VertrigoServ

• Facilidades para configuração do ambiente de desenvolvimento.

Page 36: Desenvolvimento Web Avançado usando PHP

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

Page 37: Desenvolvimento Web Avançado usando PHP

Padrões de Welie

• Para design de interação

Mais de 125

padrões.

Page 38: Desenvolvimento Web Avançado usando PHP

Padrão de Welie - Automotive Site

Page 39: Desenvolvimento Web Avançado usando PHP
Page 40: Desenvolvimento Web Avançado usando PHP

Padrões Web Yahoo!http://developer.yahoo.com/ypatterns/

Page 41: Desenvolvimento Web Avançado usando PHP

Outros Padrões para Web

• Designing Interfaces– Jenifer Tidwell– http://designinginterfaces.com/

• Web Patterns– UC Berkeley– http://harbinger.sims.berkeley.edu/ui_desig

npatterns/webpatterns2/webpatterns/home.php

• IAWiki on Website patterns– Feita por voluntários– http://www.iawiki.net/WebsitePatterns

Page 42: Desenvolvimento Web Avançado usando PHP

Dúvidas

• Alguma dúvida?• E-mail: [email protected]

• Obrigado!