PplWare Mobile

PHP é à quinta-feira – Iniciação ao Smarty

                                    
                                

Este artigo tem mais de um ano


Autor: Vítor M.


  1. Fabuloso.

    Bom artigo, simples, com a informação necessária e bem explicado.

  2. Nuno Peralta says:

    Uuuii.. parece-me que isto tem ar de descer a performance 😛
    Mas pode ser bem útil, com certeza 🙂

    • Exacto, a sua utilidade e facilidade de uso por vezes supera a questão da performance, que é perfeitamente contornável com uma cache para o template (que acho que o smarty tem).

    • Joao Campos says:

      Não decresce a performance, já que os templates são compilados apenas da primeira vez que são executados e gravados para posteriores execuções.

      A grande crítica aos sistemas de templates é que, embora de maneira mais simples, o próprio PHP já serve de sistema de templates.

      Agora, para quem está habituado a misturar código com apresentação (“echo blablabla” no meio das funções PHP) o smarty é um grande passo na simplificação da programação.

  3. Luis says:

    Olá,

    Como sistema alternativo deixo-vos o XTemplate: http://sourceforge.net/projects/xtpl/

    Cumprimentos

  4. Ice says:

    Bom trabalho R. Santos!

  5. Pinha says:

    Smarty é de longe o melhor template engine.
    Aconselho, como programador nesta área há muitos anos, o uso do Smarty em conjunto com PEAR (http://pear.php.net).

    Já agora, deixo uma função que, para quem vai usar smarty e javascript, vai necessitar:

    {literal}
    código javascript
    {/literal}

    o que estiver dentro destas tags é compilado sem interpretação smarty, permitindo assim que o código javascript quando colocado junto com o html não dê erros devido às chavetas ({) que são entendidas como inicio de código smarty.

    Bem haja…

    • RootShell says:

      Apenas uma pequena melhoria da explicação do uso do {literal}

      {literal}

      Código javascript aqui dentro

      {/literal}

    • RootShell says:

      Claro que para utilizadores avançados, será mais prático mudar as TAGS smarty { e } para por exemplo {{ e }}, hábito que já adquiri e que realmente acelera o desenvolvimento 🙂

      Basta editar as seguintes linhas no ficheiro Smarty.class.php

      /**
      * The left delimiter used for the template tags.
      *
      * @var string
      */
      var $left_delimiter = ‘{‘;

      /**
      * The right delimiter used for the template tags.
      *
      * @var string
      */
      var $right_delimiter = ‘}’;

      para por exemplo:

      /**
      * The left delimiter used for the template tags.
      *
      * @var string
      */
      var $left_delimiter = ‘{{‘;

      /**
      * The right delimiter used for the template tags.
      *
      * @var string
      */
      var $right_delimiter = ‘}}’;

      Assim, muito dificilmente terão problemas com outras linguagens de programação no vosso código.

      • RootShell says:

        Ou no vosso próprio PHP (sem ter que editar a class do Smarty)

        $smarty = new Smarty();

        $smarty->left_delimiter = ‘{{‘;
        $smarty->right_delimiter = ‘}}’;

        PS: Desculpem a quantidade de posts, mas realmente adoro trabalhar com o Smarty pela versatilidade que tem, e fiquei entusiasmado com o artigo 🙂 Prometo que vou tentar apenas ‘meter o bedelho’ quando vir algo incorrecto ou que possa ser melhorado. Abraço.

  6. Parabéns!

    Seus artigos são muito bons mesmo. Sou programador PHP e já estou usando o Smarty nas minhas páginas. Realmente trata-se de uma biblioteca muito boa.

    Junte isso ao MVC e sejam felizes!

  7. Alexandre says:

    Olá, muito bom seu artigo. Estou começando agora com PHP e lendo um livro descobri essa biblioteca PHP. Em um outro site olhei um video do smarty php onde também me ajudou muito.

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.