SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Seja “Smarty” na arte
 do desenvolvimento
Desenvolvendo aplicações PHP utilizando
               Smarty

              Nome: Raphael Almeida Araújo
          
              Formação: Bacharelado em
Sobre o       Ciência da Computação pelas
              Faculdades Integradas de Caratinga
 Autor        (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

              Vejamos um pouco sobre
              vocês...
Sobre a
platéia




                               Campo Grande – MS
                                        Página 2
1.O que é?
         2.Outras alternativas?
         3.Como utilizar (Programador / Designer)?
Índice   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

               Embora Smarty seja conhecido
               como uma quot;Template Enginequot;, seria
               mais fielmente descrita como um
O que é?       quot;Template / Presentation
               Framework.quot; 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

                   Heyes Template Class -
                   http://www.phpguru.org/static/template.html
               
                   ShellPage -
                   http://www.maiatech.com/shellpage.php
   Outras
                   OO Template Class -
alternativas
               


                   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/p




                                                    Campo Grande – MS
                                                             Página 6

                Programador:
                −   Baixe o fonte aqui:
 Como               http://smarty.net/download.php.
                    Descompacte o arquivo baixado
utilizar?           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    
               PHP:
 Smarty
 vs. PHP
  com
 Smarty




                      Campo Grande – MS
                               Página 10
PHP sem    
               Smarty:
 Smarty
 vs. PHP
  com
 Smarty                  s




                             Campo Grande – MS
                                      Página 11

               Cache
           
               Arquivos de configuração
Template   
               Segurança
 mais o
               Fácil de usar e fácil dar manutenção
  quê?
           


           
               Filtros
           
               Plugins e Add-ons




                                          Campo Grande – MS
                                                   Página 12

                   Desvantagens:
                   −   Tudo tem que ser consultado,
 Vantagens e           gerado, atribuído, somado,
Desvantagens           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:
                   −   Fácil aprendizado
 Vantagens e       −   Fácil manutenção
Desvantagens       −   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

                  Gerando cache:


Cacheamento




                                   Campo Grande – MS
                                            Página 15

                  Utilizando cache gerado:


Cacheamento




                                     Campo Grande – MS
                                              Página 16

                  Limpando cache:


Cacheamento




                                    Campo Grande – MS
                                             Página 17

                 Será apresentado 2 métodos
                 em 5 códigos distintos para
  Teste de       100 sequências de testes:
desempenho       −   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

             Model
             −   Doctrine
Smarty   
             Controller
e MVC        −   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

                  http://smarty.net/ - Site Oficial
              
                  http://devzone.zend.com - Site da Zend
                  para desenvolvedores PHP
Referências   
                  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 quot;Smarty PHP Template
                  Programming and Applicationsquot;




                                              Campo Grande – MS
                                                       Página 24

                  http://phpdebug.sourceforge.net - Barra
                  de ferramentas para debug de códigos
                  PHP

Referências
              
                  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

                  http://www.whenpenguinsattack.com -
                  JasLab (Venda de ferramentas para
                  melhora de performance de site
                  WordPress)
Referências   
                  http://jquery.com/ - FrameWork para
                  javascript




                                           Campo Grande – MS
                                                    Página 26

Mais conteúdo relacionado

Semelhante a Smarty PHP Template

Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Prototipagem Em Papel
Prototipagem Em PapelPrototipagem Em Papel
Prototipagem Em Papelelliando dias
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheElton Minetto
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
Introducao-ao-ambiente-web
Introducao-ao-ambiente-webIntroducao-ao-ambiente-web
Introducao-ao-ambiente-webAndré Moraes
 
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Loiane Groner
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Performance e otimização no wordpress
Performance e otimização no wordpressPerformance e otimização no wordpress
Performance e otimização no wordpressDaniel Paz
 
O que são linguagens de scripting m18
O que são linguagens de scripting m18O que são linguagens de scripting m18
O que são linguagens de scripting m18tomascarol2
 
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Leonardo Ribeiro
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMarcelo Linhares
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 

Semelhante a Smarty PHP Template (20)

Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Curi Fabricio
Curi FabricioCuri Fabricio
Curi Fabricio
 
Prototipagem Em Papel
Prototipagem Em PapelPrototipagem Em Papel
Prototipagem Em Papel
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCache
 
Cwbfx 1 Encontro
Cwbfx 1 EncontroCwbfx 1 Encontro
Cwbfx 1 Encontro
 
Magento: Mitos vs Vantagens
Magento: Mitos vs VantagensMagento: Mitos vs Vantagens
Magento: Mitos vs Vantagens
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
Introducao-ao-ambiente-web
Introducao-ao-ambiente-webIntroducao-ao-ambiente-web
Introducao-ao-ambiente-web
 
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Performance e otimização no wordpress
Performance e otimização no wordpressPerformance e otimização no wordpress
Performance e otimização no wordpress
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
O que são linguagens de scripting m18
O que são linguagens de scripting m18O que são linguagens de scripting m18
O que são linguagens de scripting m18
 
Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6
 
Apostila de asp
Apostila de aspApostila de asp
Apostila de asp
 
CakePHP
CakePHPCakePHP
CakePHP
 
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 

Mais de Freedom DayMS

Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBFreedom DayMS
 
PHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosPHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosFreedom DayMS
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software LivreFreedom DayMS
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
Pré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxPré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxFreedom DayMS
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de MovimentosFreedom DayMS
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
Comparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisComparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisFreedom DayMS
 
Firefox Para Webmasters
Firefox Para WebmastersFirefox Para Webmasters
Firefox Para WebmastersFreedom DayMS
 
Aprenda E Turbine Firefox
Aprenda E Turbine FirefoxAprenda E Turbine Firefox
Aprenda E Turbine FirefoxFreedom DayMS
 

Mais de Freedom DayMS (15)

Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEB
 
PHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosPHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutos
 
Joomla
JoomlaJoomla
Joomla
 
Projeto Debian
Projeto DebianProjeto Debian
Projeto Debian
 
Software Livre Java
Software Livre JavaSoftware Livre Java
Software Livre Java
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software Livre
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
Pré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxPré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu Linux
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de Movimentos
 
Gentoo
GentooGentoo
Gentoo
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Dataprev
DataprevDataprev
Dataprev
 
Comparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisComparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web Ágeis
 
Firefox Para Webmasters
Firefox Para WebmastersFirefox Para Webmasters
Firefox Para Webmasters
 
Aprenda E Turbine Firefox
Aprenda E Turbine FirefoxAprenda E Turbine Firefox
Aprenda E Turbine Firefox
 

Smarty PHP Template

  • 1. Seja “Smarty” na arte do desenvolvimento Desenvolvendo aplicações PHP utilizando Smarty
  • 2. Nome: Raphael Almeida Araújo  Formação: Bacharelado em Sobre o Ciência da Computação pelas Faculdades Integradas de Caratinga Autor (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
  • 3. Vejamos um pouco sobre vocês... Sobre a platéia Campo Grande – MS Página 2
  • 4. 1.O que é? 2.Outras alternativas? 3.Como utilizar (Programador / Designer)? Índice 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
  • 5. Embora Smarty seja conhecido como uma quot;Template Enginequot;, seria mais fielmente descrita como um O que é? quot;Template / Presentation Framework.quot; 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
  • 6. 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
  • 7. Heyes Template Class - http://www.phpguru.org/static/template.html  ShellPage - http://www.maiatech.com/shellpage.php Outras OO Template Class - alternativas  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/p Campo Grande – MS Página 6
  • 8. Programador: − Baixe o fonte aqui: Como http://smarty.net/download.php. Descompacte o arquivo baixado utilizar? 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
  • 9. 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
  • 10. 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
  • 11. PHP sem  PHP: Smarty vs. PHP com Smarty Campo Grande – MS Página 10
  • 12. PHP sem  Smarty: Smarty vs. PHP com Smarty s Campo Grande – MS Página 11
  • 13. Cache  Arquivos de configuração Template  Segurança mais o Fácil de usar e fácil dar manutenção quê?   Filtros  Plugins e Add-ons Campo Grande – MS Página 12
  • 14. Desvantagens: − Tudo tem que ser consultado, Vantagens e gerado, atribuído, somado, Desvantagens 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
  • 15. Vantagens: − Fácil aprendizado Vantagens e − Fácil manutenção Desvantagens − 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
  • 16. Gerando cache: Cacheamento Campo Grande – MS Página 15
  • 17. Utilizando cache gerado: Cacheamento Campo Grande – MS Página 16
  • 18. Limpando cache: Cacheamento Campo Grande – MS Página 17
  • 19. Será apresentado 2 métodos em 5 códigos distintos para Teste de 100 sequências de testes: desempenho − PHP − PHP com Smarty Campo Grande – MS Página 18
  • 20. Teste de desempenho Campo Grande – MS Página 19
  • 21. Teste de desempenho Campo Grande – MS Página 20
  • 22. Teste de desempenho Campo Grande – MS Página 21
  • 23. Model − Doctrine Smarty  Controller e MVC − Minha Classe  View − Smarty − Minha Classe  Vamos dar uma olhada nos códigos... Campo Grande – MS Página 22
  • 24. ??? Perguntas Campo Grande – MS Página 23
  • 25. http://smarty.net/ - Site Oficial  http://devzone.zend.com - Site da Zend para desenvolvedores PHP Referências  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 quot;Smarty PHP Template Programming and Applicationsquot; Campo Grande – MS Página 24
  • 26. http://phpdebug.sourceforge.net - Barra de ferramentas para debug de códigos PHP Referências  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
  • 27. http://www.whenpenguinsattack.com - JasLab (Venda de ferramentas para melhora de performance de site WordPress) Referências  http://jquery.com/ - FrameWork para javascript Campo Grande – MS Página 26