Desenvolvimento Web Avançado usando PHP

2.800 visualizações

Publicada em

Publicada em: Tecnologia
1 comentário
4 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
2.800
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
130
Comentários
1
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento Web Avançado usando PHP

  1. 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. 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
  3. 3. Conceitos Básicos de PHP • Esquema conceitual de uma aplicação Web
  4. 4. Conceitos Básicos de PHP • Ambiente de execução - Variáveis
  5. 5. Hello World <h1>Exemplo</h1> <?php $firstvar = quot;Hello Worldquot;; echo $firstvar; ?>
  6. 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. 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. 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. 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. 10. IDEs para desenvolvimento WEB • Eclipse – Vantagens: • Suporte a inúmeros plugins, inclusive de modelagem; • Independente de linguagem, ambiente único
  11. 11. 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
  12. 12. Dreamweaver Definição da aplicação em que se deseja trabalhar
  13. 13. 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
  14. 14. 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.
  15. 15. 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
  16. 16. 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
  17. 17. Frameworks Ajax • Mootools – http://mootools.net/ – Escrever códigos elaborados, flexíveis e compatíveis com diversos navegadores
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. SGBD MySQL Exemplo de Tabela do MySQL
  23. 23. 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) );
  24. 24. 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’;
  25. 25. 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
  26. 26. Modelagem de BD • DBDesigner – Criação Gráfica do Modelo Entidade Relacionamento – Geração dos comandos SQL para a criação do BD Modelado
  27. 27. 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
  28. 28. VertrigoServ • Facilidades para configuração do ambiente de desenvolvimento.
  29. 29. 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
  30. 30. Padrões de Welie • Para design de interação Mais de 125 padrões.
  31. 31. Padrão de Welie - Automotive Site
  32. 32. Padrões Web Yahoo! http://developer.yahoo.com/ypatterns/
  33. 33. 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
  34. 34. Dúvidas • Alguma dúvida? • E-mail: thiago@aptor.com.br • Obrigado!

×