ZendFramework: estruturar um novo projeto (parte 2)

Publicado: 25/01/2012 em Linux, Programação
Tags:, , ,

Em posts anteriores, detalhamos como instalar e configurar o ZendFramework, e produzimos a parte 1 do post “ZendFramework: estruturar um novo projeto”. Agora vamos avançar mais na compreensão do funcionamento do Framework.

1. Layout

Primeiro sobre o nome “leiaute”: o significado aqui é o mesmo que “tema” ou “template”, já tão bem conhecidos no mundo da programação.
Na prática, existirá muito código HTML em comum nos diversos “views” do sistema em desenvolvimento. O que muda de uma página para outra em um sistema basicamente é o conteúdo, mantendo-se o cabeçalho, rodapé e laterais. O componente Zend_Layout fora criado para facilitar a vida do desenvolvedor na criação de leiautes. O componente Zend_Layout permite ao programador mover todo código em comum da camada de apresentação de cabeçalho, rodapé e outros, para um “script view” específico, o “leiaute”.

Um “layout” no Zend Framework é parte do MVC e utiliza-se do “ViewRenderer” que oferece uma vasta gama de recursos que são carregados automaticamente para o objeto “$view”.

O local padrão para manter os leiautes é em “application/layouts/scripts/” e há um recurso disponível para Zend_Application que configurará Zend_Layout. Utilizamos o Zend_Tool para criar o script do view para o layout e atualizar apropriadamente o arquivo “~/novo_projeto/application/configs/application.ini“. Para isto, utilize o comando a seguir (onde também está mostrado a resposta do ZF ao comando):

~/novo_projeto$ zf enable layout
A layout entry has been added to the application config file.
A default layout has been created at ~/novo_projeto/application/layouts/scripts/layout.phtml
Updating project profile '~/novo_projeto/.zfproject.xml'

Veja que o comando ao Zend_Tool criou uma pasta e um arquivo em “~/novo_projeto/application/layouts/scripts/layout.phtml“. Ele também atualizou o arquivo “~/novo_projeto/application/configs/application.ini“, onde adicionou a linha resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" na seção [production].

O conteúdo default do arquivo criado “/application/layouts/scripts/layout.phtml” é:
<?php echo $this->layout()->content; ?>
Esta linha carregará o conteúdo do arquivo “view script” do action sendo chamado. Por enquanto, como pode ser visto através do navegador, nada mudou como resultado da aplicação

Agora modifique o arquivo layout.phtml para que o mesmo fique assim:

<?php
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
echo $this->doctype(); ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
   <title>Meu Projeto Zend Framework</title>
   <head>
      <?php echo $this->headMeta(); ?>
      <?php echo $this->headTitle(); ?>
      <?php echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/site.css'); ?>
      <?php echo $this->headTitle(); ?>
   </head>
   <body>
      <div id="header">{Meu Cabeçalho aqui}</div>
      <div id="content">
      <?php echo $this->layout()->content; ?>
      </div>
      <div id="footer">{Meu rodapé aqui}</div>
   </body>
</html>

Acima inserimos a chamada para um arquivo CSS. Isso objetiva fazer a apresentação mais bonita. Deve-se, então, criar a pasta css e o arquivo de estilo “~/novo_projeto/public/css/site.css”, cujo conteúdo simples exemplificamos abaixo:


body,html {
margin: 0 5px;
font-family: Verdana,sans-serif;
color: #E92727;
}
h1 {
font-size: 1.4em;
color: #008000;
}
a {
color: #008000;
}

O exemplo acima mostra como o leiaute é facilmente alterável.
Agora sim, acesse as páginas do projeto
http://novo_projeto.localhost/tecnico/gerencia/add
http://novo_projeto.localhost/tecnico/gerencia/edit

e veja os efeitos produzidos, como a cor que alterou e o aparecimento do leiaute inserido. Uma página como a mostrada abaixo deve ser obtida no navegador.
Tela exemplo leiaute do ZF

Referências:
1- Instalar e configurar o ZendFramework no Debian
2- ZendFramework: estruturar um novo projeto (parte 1)
3- Tutorial ZendFramework
4- Zend Programmer’s Reference Guide

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

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