27
Seja “Smarty” na arte do desenvolvimento Desenvolvendo aplicações PHP utilizando Smarty

Seja "Smarty" na arte do desenvolvimento

Embed Size (px)

DESCRIPTION

Seja "Smarty" na arte do desenvolvimento(Raphael Araújo - PHPMS)

Citation preview

Page 1: Seja "Smarty" na arte do desenvolvimento

Seja “Smarty” na arte do desenvolvimento

Desenvolvendo aplicações PHP utilizando Smarty

Page 2: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 1

Page 3: Seja "Smarty" na arte do desenvolvimento

Sobre a platéia

Vejamos um pouco sobre vocês...

Campo Grande – MSPágina 2

Page 4: Seja "Smarty" na arte do desenvolvimento

Í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 – MSPágina 3

Page 5: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 4

Page 6: Seja "Smarty" na arte do desenvolvimento

Representação

Imagem por Dr. E.F. Tymac, usada sobre licença.(Veja http://en.wikipedia.org/wiki/Image:TempEngWeb016.svg)

Campo Grande – MSPágina 5

Page 7: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 6

Page 8: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 7

Page 9: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 8

Page 10: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 9

Page 11: Seja "Smarty" na arte do desenvolvimento

PHP sem Smarty vs. PHP

com Smarty

PHP:

Campo Grande – MSPágina 10

Page 12: Seja "Smarty" na arte do desenvolvimento

PHP sem Smarty vs. PHP

com Smarty

Smarty:

Campo Grande – MSPágina 11

s

Page 13: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 12

Page 14: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 13

Page 15: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 14

Page 16: Seja "Smarty" na arte do desenvolvimento

Cacheamento

Gerando cache:

Campo Grande – MSPágina 15

Page 17: Seja "Smarty" na arte do desenvolvimento

Cacheamento

Utilizando cache gerado:

Campo Grande – MSPágina 16

Page 18: Seja "Smarty" na arte do desenvolvimento

Cacheamento

Limpando cache:

Campo Grande – MSPágina 17

Page 19: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 18

Page 20: Seja "Smarty" na arte do desenvolvimento

Teste de desempenho

Campo Grande – MSPágina 19

Page 21: Seja "Smarty" na arte do desenvolvimento

Teste de desempenho

Campo Grande – MSPágina 20

Page 22: Seja "Smarty" na arte do desenvolvimento

Teste de desempenho

Campo Grande – MSPágina 21

Page 23: Seja "Smarty" na arte do desenvolvimento

Smarty e MVC

Model− Doctrine

Controller− Minha Classe

View− Smarty− Minha Classe

Vamos dar uma olhada nos códigos...

Campo Grande – MSPágina 22

Page 24: Seja "Smarty" na arte do desenvolvimento

Perguntas

???

Campo Grande – MSPágina 23

Page 25: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 24

Page 26: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 25

Page 27: Seja "Smarty" na arte do desenvolvimento

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 – MSPágina 26