Desenvolvimento Web Avanado usando PHP

  • Published on
    04-Jul-2015

  • View
    2.356

  • Download
    0

Transcript

  • 1. Desenvolvimento Web Avanado usando PHP: conceitos bsicos, perspectivas etendncias Thiago Jabur Bittarthiago@aptor.com.br 27 de Setembro de 2007

2. Conceitos Bsicos de PHP PHP: quot;PHP Hypertext Preprocessorquot; Tecnologia de cdigo livre Criada Rasmus Lerdorf (Dinamarca) Andi Gutmans e Zeev Suraski (Israel) Pode ser incorporado como mdulo de umservidor web IIS e Apache (Windows e Unix) www.php.net informaes detalhadas manual Linguagem interpretada 3. Conceitos Bsicos de PHP Esquema conceitual de uma aplicaoWeb 4. Conceitos Bsicos de PHP Ambiente de execuo - Variveis 5. Hello World Exemplo 6. Orientao a Objetos em PHP A palavra-chave class indica uma declarao declasse, delimitada por chaves. Dentro da classe podemos definir atributos (variveis) e mtodos (funes) Formam o estado e o comportamento do objeto. Um mtodo com o mesmo nome da classe oconstrutor do objeto, sendo executado sempre queuma instncia for criada. A classe deve utilizar a varivel $this parareferenciar seus prprios mtodos 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 definio da classe deve estardisponvel no script ou pgina PHP queutiliza a classe comandos include ou require Um objeto da classe deve ser instanciadopelo operador new. O operador -> permite referenciarmosatributos e mtodos do objeto 9. Utilizando a classe 10. IDEs para desenvolvimento WEB Eclipse Vantagens: Suporte a inmeros plugins, inclusive demodelagem; Independente de linguagem, ambientenico 11. IDEs para desenvolvimento WEB Dreamweaver- Desenvolvedor de cdigos web - (.php, .asp, .js, .html, .xml, e etc)- Oferece mais auxlios para programaoweb do que outros ambientes- Facilidade de configurao- Integrao a servidores 12. DreamweaverDefinio da aplicao em que se deseja trabalhar 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 popularese cdigo aberto 14. AJAX Asynchronous Javascript And XML Recuperao assncrona de dados objeto XMLHttpRequest; Apresentao baseada em padres, usandoXHTML e CSS; Exposio e interao dinmica usando o DOM; Intercmbio e manipulao de dados usandoXML e XSLT; JavaScript une as tecnologias. 15. Frameworks Ajax Prototype http://www.prototypejs.org/ - Objetiva facilitar o desenvolvimento deaplicaes dinmicas na Web- manipulao de DOM- tratamento de eventos 16. Frameworks Ajax Sajax uma ferramenta Open Source para fazera programao Web, utilizando Ajax, omais fcil possvel http://www.modernmethod.com/sajax/ Possui diversos exemplos e tutoriais noprprio site 17. Frameworks Ajax Mootools http://mootools.net/ Escrever cdigos elaborados, flexveis ecompatveis com diversos navegadores 18. Framework PHP CakePHP http://www.cakephp.org/ http://manual.cakephp.org/ Conveno ao invs de configurao ao contrrio de outros frameworks ondeexistem enormes XML de configurao deaplicativo; Arquitetura MVC (Model, View, Controller) Pastas da aplicao estruturadas 19. Integrao e intercmbio - XML XML (eXtensible Markup Language) padro da W3C para gerar linguagens de marcao para necessidades especiais capaz de descrever diversos tipos de dados separao do contedo e da formatao legibilidade 20. Folha de estilos - XSL XSL eXtensible Stylesheet Language pode ser usada para transformar XML emHTML Consiste de trs mtodos: transformar documentos XML definir partes e padres do XML formatar documentos XML 21. SGBD MySQL O MySQL foi criado na Sucia por David Axmark, Allan Larsson e Michael Widenius Usa a SQL(Structured Query Language) e seus padres Livre para aplicativos Web www.mysql.com A verso mais atual a 5.0 (h a verso Beta 5.1) Considerado um dos SGBD mais eficientes para a Web 22. SGBD MySQLExemplo de Tabela do MySQL 23. SGBD MySQL Segue a sintaxe da SQL Ex: CREATE, DROP, INSERT, SELECT, UPDATE, etc. Comando de criao de uma tabela de teste: CREATE TABLE pessoa( id_user INTEGER AUTO_INCREMENT, nome VARCHAR(80), telefone VARCHAR(10), PRIMARY KEY(id_user) ); 24. SGBD MySQLExemplos 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. phpMyAdmin phpMyAdmin ferramenta desenvolvida com PHP para o gerenciamento de banco de dadosMySQL. Sua primeira verso foi lanada em 1998 http://www.phpmyadmin.net 26. Modelagem de BD DBDesigner Criao Grfica do Modelo Entidade Relacionamento Gerao dos comandos SQL para a criao do BD Modelado 27. MySQL + Apache + PHPEsse trs softwares livres so grandemente utilizados, pois alm de gratuitos, so de alta qualidadeSoftwares que instalam e configuram os 3 aplicativos citados em ambiente Windows - Serv-n - VertrigoServ - tambm inclui o phpMyAdmin- http://vertrigo.sourceforge.net 28. VertrigoServ Facilidades paraconfigurao doambiente dedesenvolvimento. 29. Padres Web Procure utilizar padres de interface Web minimizar o tempo de desenvolvimento ajudar a trazer maior usabilidade aousurio melhores prticas 30. Padres de Welie Para design de interaoMais de 125 padres. 31. Padro de Welie - Automotive Site 32. Padres Web Yahoo!http://developer.yahoo.com/ypatterns/ 33. Outros Padres 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 voluntrios http://www.iawiki.net/WebsitePatterns 34. Dvidas Alguma dvida? E-mail: thiago@aptor.com.br Obrigado!