desenvolvimento web avançado usando php

Post on 04-Jul-2015

2.367 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

tendências

Thiago Jabur Bittarthiago@aptor.com.br

27 de Setembro de 2007

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

Conceitos Básicos de PHP

• Esquema conceitual de uma aplicação Web

Conceitos Básicos de PHP

• Ambiente de execução - Variáveis

Hello World

<h1>Exemplo</h1> <?php

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

?>

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

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

}

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

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

?>

IDEs para desenvolvimento WEB

• Eclipse– Vantagens:

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

• Independente de linguagem, ambiente único

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

Dreamweaver

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

trabalhar

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

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.

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

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

Frameworks Ajax

• Mootools– http://mootools.net/

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

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

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

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

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

SGBD MySQL

Exemplo de Tabela do MySQL

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

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

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

Modelagem de BD

• DBDesigner

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

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

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

VertrigoServ

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

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

Padrões de Welie

• Para design de interação

Mais de 125

padrões.

Padrão de Welie - Automotive Site

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

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

Dúvidas

• Alguma dúvida?• E-mail: thiago@aptor.com.br

• Obrigado!

top related