Symfony Helpers

O framework symfony, a exemplo do Ruby on Rails, incorpora uma série facilidades para agilizar o desenvolvimento de aplicações web. Uma delas, utilizada especialmente na camada de visão, são os helpers, formados por funções PHP que retornam código HTML e podem ser chamados nos templates através do comando use_helper().

O symfony contém vários helpers para facilitar o processo da construção dos templates. Alguns são intrínsecos, como o helper para a criação dos elementos de um formulário, disponibilizados por default para todos os templates e outros podem ser chamados conforme a conveniência, como, por exemplo, os helpers para internacionalização (i18n), chamada de objetos do banco de dados (object) e funções ajax (javascript).

Helpers disponíveis por default (standard helpers)

  • Asset – ajuda na definição da seção <head> além de fornecer chamada fácil para links externos (imagens, JavaScript e arquivos de folha de estilo – CSS)
  • Cache – manipulação de cache
  • Form – elementos de formulários
  • Helper – requerido para inclusão de um helper
  • Partial – permite incluir fragmentos de templates
  • Tag – tags básicas
  • Url – gerenciamento de links and URLs

Helpers que precisam ser declarados nos templates

  • DateForm – série de funções para exibição de elementos com datas em formulários
  • Date – formatar datas
  • Escaping escape de caracteres
  • I18N – internacionalização
  • Javascript – funções javascript, ajax
  • Number – formatação de números
  • ObjectAdmin – objetos para o admin generator
  • Object – objetos do banco de dados
  • sfRichTextEditor Rich Text Editor
  • sfRichTextEditorFCK Rich Text Editor FCK
  • sfRichTextEditorTinyMCE Rich Text Editor TinyMCE
  • Text – funções relativas ao manuseio de textos
  • Validation – validação de dados de um form

Para utilizar um helper não default, basta fazer sua chamada através da função use_helper no início do template:

<?php echo use_helper('NomeDoHelper') ?>

Helpers e Actions

É possível usar as funções de um helper dentro de uma ação (action) com o loadHelpers

sfLoader::loadHelpers($helpers)

onde a variável $helpers é o nome de um helper ou um array com os nomes de vários helpers.

Criando um helper (custom helpers)

Caso possuir pedaços de código que são freqüentemente utilizados em templates e não existem nos helpers do symfony é possível criar o seu próprio helper, o que, aliás, é uma tarefa extremamente simples. Os passos são os seguintes:

  1. escrever um arquivo PHP com o conjunto de funções do helper, salvando com o nome FooBarHelper.php, onde FooBar é o nome do helper
  2. gravar o arquivo FooBarHelper.php no diretório apps/myapp/lib/helper/ ou em qualquer diretório /helper criado dentro de um diretório /lib do projeto

Agora é só utilizar seu helper em qualquer template incluindo:

<?php echo use_helper('FooBar') ?>

Um comentário em “Symfony Helpers

  1. diego disse:

    Parabéns Andréia. Muito bom o seu artigo. Estou aprendendo Symfony agora e acabei chegando até a sua página através do google. Acho que você faz parte do Google Group do Symfony né ?

    Diego

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s