Seja "Smarty" na arte do desenvolvimento

Preview:

DESCRIPTION

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

Citation preview

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

Sobre a platéia

Vejamos um pouco sobre vocês...

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

PHP sem Smarty vs. PHP

com Smarty

PHP:

Campo Grande – MSPágina 10

PHP sem Smarty vs. PHP

com Smarty

Smarty:

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

Cacheamento

Gerando cache:

Campo Grande – MSPágina 15

Cacheamento

Utilizando cache gerado:

Campo Grande – MSPágina 16

Cacheamento

Limpando cache:

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

Teste de desempenho

Campo Grande – MSPágina 19

Teste de desempenho

Campo Grande – MSPágina 20

Teste de desempenho

Campo Grande – MSPágina 21

Smarty e MVC

Model− Doctrine

Controller− Minha Classe

View− Smarty− Minha Classe

Vamos dar uma olhada nos códigos...

Campo Grande – MSPágina 22

Perguntas

???

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

Recommended