Prévia do material em texto
Seja “Smarty” na arte do desenvolvimento Desenvolvendo aplicações PHP utilizando Smarty Sobre o Autor Nome: Raphael Almeida Araújo Formação: Bacharelado em Ciência da Computação pelas Faculdades Integradas de Caratinga (MG) Linguagens: Pascal, C/C++, PHP e Ruby Frameworks: Symfony e Ruby on Rails Comunidades: PHP MS, Symfony- Brasil e Rails MS Campo Grande – MS Página 1 Sobre a platéia Vejamos um pouco sobre vocês... Campo Grande – MS Página 2 Índice 1.O que é? 2.Outras alternativas? 3.Como utilizar (Programador / Designer)? 4.Quem utiliza? 5.PHP sem Smarty vs. PHP com Smarty 6.Template e mais o quê? 7.Vantagens e Desvantagens 8.Cacheamento 9.Teste de desempenho 10.Smarty e MVC Campo Grande – MS Página 3 O que é? Embora Smarty seja conhecido como uma "Template Engine", seria mais fielmente descrita como um "Template / Presentation Framework." Ou seja, proporciona ao programador e designer uma riqueza de ferramentas para automatizar tarefas comumente tratadas na camada da apresentação de uma aplicação. Campo Grande – MS Página 4 Representação Imagem por Dr. E.F. Tymac, usada sobre licença. (Veja http://en.wikipedia.org/wiki/Image:TempEngWeb016.svg) Campo Grande – MS Página 5 Outras alternativas Heyes Template Class - http://www.phpguru.org/static/template.html ShellPage - http://www.maiatech.com/shellpage.php OO Template Class - http://www.net-track.ch/opensource/template/ SimpleTemplate* - http://sourceforge.net/projects/simpletpl bTemplate - http://www.massassi.com/bTemplate/ Savant - http://phpsavant.com/ Veja mais http://www.whenpenguinsattack.com/2006/07/19/php-template-engine-roundup/ Campo Grande – MS Página 6 Como utilizar? Programador: − Baixe o fonte aqui: http://smarty.net/download.php. Descompacte o arquivo baixado dentro do diretório de sua aplicação e é só sair usando. − :-) Talvez seja um pouco mais dolorido que isso. Campo Grande – MS Página 7 Designer: − O Smarty não precisa de nenhuma IDE especifica para que algum programador ou designer usufrua de suas vantagens. Você pode utilizar sua IDE favorita, basta apenas que ela tenha um editor de texto. − Para designer que utilizam DreamWeaver da Adobe, existe plugin que lhe auxilia a utilizá-lo. Campo Grande – MS Página 8 Quem utiliza? Mais algum??? No site oficial encontra-se uma lista de mais de 300 sites registrados até o momento. Sendo que devem haver muitos outros sites menores ou maiores que não quiseram registrar por questões de segurança, vontade ou tempo. Veja http://smarty.incutio.com/? page=SitesUsingSmarty Campo Grande – MS Página 9 PHP sem Smarty vs. PHP com Smarty PHP: Campo Grande – MS Página 10 PHP sem Smarty vs. PHP com Smarty Smarty: Campo Grande – MS Página 11 s Template mais o quê? Cache Arquivos de configuração Segurança Fácil de usar e fácil dar manutenção Filtros Plugins e Add-ons Campo Grande – MS Página 12 Vantagens e Desvantagens Desvantagens: − Tudo tem que ser consultado, gerado, atribuído, somado, subtraído, etc. Até que o usuário consiga visualizar alguma coisa. − Duas linguagens para uma mesma tarefa − PHP 4 Campo Grande – MS Página 13 Vantagens e Desvantagens Vantagens: − Fácil aprendizado − Fácil manutenção − Ferramentas de cache de fácil utilização − Funções de template. Fácil gerar HTML − Criação e utilização de plugins. Fácil compartilhar código entre aplicações − Aumento de performance * Campo Grande – MS Página 14 Cacheamento Gerando cache: Campo Grande – MS Página 15 Cacheamento Utilizando cache gerado: Campo Grande – MS Página 16 Cacheamento Limpando cache: Campo Grande – MS Página 17 Teste de desempenho Será apresentado 2 métodos em 5 códigos distintos para 100 sequências de testes: − PHP − PHP com Smarty Campo Grande – MS Página 18 Teste de desempenho Campo Grande – MS Página 19 Teste de desempenho Campo Grande – MS Página 20 Teste de desempenho Campo Grande – MS Página 21 Smarty e MVC Model − Doctrine Controller − Minha Classe View − Smarty − Minha Classe Vamos dar uma olhada nos códigos... Campo Grande – MS Página 22 Perguntas ??? Campo Grande – MS Página 23 Referências http://smarty.net/ - Site Oficial http://devzone.zend.com - Site da Zend para desenvolvedores PHP http://devzone.zend.com/tag/PHP5 - Site da Zend para desenvolvedores PHP 5 http://codeutopia.net - Blog sobre desenvolvimento web que fala coisas interessante de PHP http://hasin.wordpress.com - Blog do autor do livro "Smarty PHP Template Programming and Applications" Campo Grande – MS Página 24 Referências http://phpdebug.sourceforge.net - Barra de ferramentas para debug de códigos PHP http://www.phpdoctrine.org/ - Site oficial do ORM (object relational mapper) para PHP 5.2.3+ http://www.symfony-project.org/ - Site oficial do FrameWork Symfony http://pt.wikipedia.org - Enciclopédia livre http://kate-editor.org/ - Site do editor de texto Kate Campo Grande – MS Página 25 Referências http://www.whenpenguinsattack.com - JasLab (Venda de ferramentas para melhora de performance de site WordPress) http://jquery.com/ - FrameWork para javascript Campo Grande – MS Página 26 Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27