DRY – Partials, Components, Slots e Component Slots do symfony

view11.gif

Um dos princípios do symfony é o DRY (Don’t Repeat Yourself ou “Não se repita”). Para nos ajudar com esta tarefa, o framework disponibiliza quatro helpers que podem ser utilizados conforme a necessidade.

Esta segunda cheat-sheet sobre a camada de visão (View) do symfony, trata justamente destes helpers para trabalhar com:

  • Partials: include_partial()
  • Components: include_component()
  • Slots: include_slot()
  • Component Slots: include_component_slot()

Idiomas disponíveis:

  • English – PDF
  • Português – em breve

Symfony Cheat-Sheet – View

view22.gif

Esta primeira cheat-sheet da camada de visão (view) do symfony, aborda sobre:

  • localização dos templates na estrutura de diretórios do symfony
  • helpers padrão do symfony carregados automaticamente
  • definição de helpers não padrão
  • como chamar helpers fora dos templates (em actions, por exemplo)
  • estrutura default do layout global
  • configurações de layout (definindo e removendo layouts através de actions e do arquivo de configuração view.yml)
  • atalhos para o request, os parâmetros do request, os objetos sfUser, sfView, sfContext, …
  • como disponibilizar variáveis das actions para os templates
  • como substituir templates
  • convenções para nomear os templates

Idiomas disponíveis:

  • English – PDF
  • Português – em breve

Symfony Cheat-Sheet – Helpers Javascript e Ajax


Continuando a publicação das referências sobre o framework symfony, esta segunda inicia a série sobre os helpers do symfony, trazendo uma visão geral das funções Javascript e Ajax que o framework possui.

Idiomas disponíveis:

  • Português – PDF
  • English – PDF
  • Français – PDF (Traduit par COil. Merci!)

page_word.png For translators (Word document with the cheat-sheet texts)

[Update – 01/01/2008] adicionada tradução para francês

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') ?>