PHP

Ferramenta de Modelagem PHP – Smarty – Separando lógica / apresentação de sua aplicação.

The PHP logo displaying the Handel Gothic font.
Image via Wikipedia

Uma ferramente de modelagem permite que você possa separar em sua aplicação, camadas de apresentação e lógica de negócios.

A soluçõa de modelagem mais popular no PHP é chamada: Smarty.

As vantagem de utilização deste processo são inúmeras, mas podemos citar entre outras:

  • Reaproveitamento de código.
  • Divisão do trabalho Programador/Designer.
  • Legibilidade do código fonte da aplicação.
  • Baixa curva de aprendizado.
  • Configurável e Seguro.
  • Performance – Compilação de modelos e Caching.
  • Licença GNU (LGPL).

Instalando.
Para instalar o Smarty, basta efetuar download e descompactar.
Existem várias opções de uso e formas de trabalho, sendo opcional, por exemplo, que as bibliotecas Smart estejam no diretório root de seu servidor, para mais informações, acesse a documentação oficial  no site do projeto.

Exemplo simples de uso:

Descompacte no root de seu servidor o arquivo contendo os fontes do Smart, renomeie para smart.
Crie a seguinte estrutura de diretórios:

  • cache/ – Armazena modelos colocados em cache pelo Smart, quando habilitado.
  • configs/ – Armazena os arquivos de configuração da aplicação.
  • templates/ – Armazena os modelos da aplicação.
  • templates_c/ – Armazena os modelos compilados.
  • css/  – Obs: Opcional.

Defina as permissões para os diretórios: cache/ e templates_c/

Crie um arquivo com extensão .php salve com o nome de index no root de sua aplicação.
Inclua no mesmo o seguinte conteúdo:

<?php

// referencia a biblioteca de classe Smarty //
require_once('libs/Smarty.class.php');

    // Cria nova instância de classe Smart //
	$smarty = new Smarty();

    // Informa os diretórios padrões da aplicação //
    $smarty->template_dir = dirname(__FILE__)."/templates/";
	$smarty->compile_dir = dirname(__FILE__)."/templates_c/";
	$smarty->config_dir = dirname(__FILE__)."/configs/";
	$smarty->cache_dir = dirname(__FILE__)."/cache/";

	// Método utilizado para atribuir valores à váriaveis //
	$smarty->assign('title','Principios utilização Smart - Blog Etilico');
	$smarty->assign('teste','valor atribuido a váriavel $teste');

	// Exemplo simples de formatacao de dados - funcao date_format (strftime()) //
	$smarty->assign('data', '0000000000');

	// Método usado para recuperar e renderizar o modelo Smarty, informando em que modelo será apresentado a lógica //
	$smarty->display('index.tpl');
?>

Crie agora o arquivo de template. Com o seguinte nome e extensão: index.tpl, salve no diretório: templates/ e adicione o conteúdo abaixo:

<html>
<head>
	<title> {$title} </title>
	<link rel='stylesheet' type='text/css' href='./css/index.css' />
</head>
<body>
	{* Sintexe de comentário *}
	<h1> imprimir: {$teste} </h1>
        <h1> {$data|date_format:"%B %e, %Y"} </h1>
</body>
</html>

A utilização de arquivos externos contendo informações de estilo, evita os erros referentes ao conflito de síntaxe entre o Smart e CSS, pois ambos utilizam do uso de “Chaves” ({}), para isso, no diretório css/ crie o arquivo index.css, contendo o seguinte código:

body {
	background-color: #D1EDF6
}
h1 {
	font-size: 13px;
}

Acesse seu projeto: http://localhost/smart.

Para conhecer todas as características da classe, como modificadores de variável, estruturas de controle e expressoes, visite o site do projeto, baixe a biblioteca e leia a documentação.

Boa sorte.

Anúncios

Um comentário sobre “Ferramenta de Modelagem PHP – Smarty – Separando lógica / apresentação de sua aplicação.

Deixe um comentário

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