|
Usando a função eval
por thiaguimmm
Um simples sistema de templates usando a função eval. Para quem está iniciando e gostaria de aprender a organizar seus códigos separando o código PHP do código HTML com templates, essa é uma boa alternativa.
|
Para começar você deve decidir se vai criar uma pasta para guardar seus templates, ou se vai deixar seus templates (*.tpl) na mesma pasta que se encontra os scripts que usarão o template.
Decidido isso, vamos mostrar um exemplo simples de template chamado: index.tpl
<!-- início -->
<html>
<head>
<title>$titulo</title>
</head>
<body>
$body
</body>
</html>
<!-- fim -->
|
Explicando o index.tpl
- a tag $titulo vai receber a variável $titulo que será definida no script php que vai usar este template (neste artigo como exemplo seria o script index.php), e vai por o valor da variável $titulo no título, através das tags .
- a variável $body também receberá o valor definido pelo script php que vai usar este template (neste artigo como exemplo seria o script index.php) e irá imprimir o valor da variável dentro das tags , ou seja, o que você irá ver na página!
Agora vamos criar o script php que usará o template criado anteriormente, digamos que seja: index.php
<!-- início -->
<?php
$titulo = "Sistema de Templates - eval";
$body = "<li>Esse é o meu primeiro script php usando o sistema de templates eval.</li>";
define("INDEX", addslashes(implode("", file ("index.tpl"))));
$template=INDEX;
eval("\$pag= \"$template\";");
echo $pag;
?>
<!-- fim -->
|
Explicando o index.php
- a variável $titulo definida como "Sistema de Templates - eval" e a variável $body definida como "Esse é o meu primeiro script php usando o sistema de templates eval." serão enviadas ao template do index.php (neste artigo como exemplo seria o template index.tpl).
- define("INDEX", addslashes(implode("", file ("index.tpl")))); Esta linha define INDEX com o arquivo template já tratado para ser utilizado pela função eval().
- $template=INDEX; A variável $template recebe o valor de INDEX para que seja utilizada na função eval() propriamente dita.
- eval("\$pag= \"$template\";"); A função eval() seta a variável $pag já com o template com todos os valores definidos pelo script php.
- echo $pag; Imprime a variável $pag que agora é o template + as variáveis, logo, a página completa.
Bem, espero ter acrescentado um pouco mais de conhecimento para vocês iniciantes ou não, achei essa função interessante e bem simples, a vi em algum lugar e começei a usar, como está sendo muito útil para mim que sou iniciante, espero que seja útil para você também.
Bem, esse é meu primeiro artigo, qualquer dúvida, crítica ou sugestão por favor, comentem. É claro algum erro que encontrarem, me avisem para que eu verifique.
Obrigado,
Thiago Fraga
thiaguimphp@yahoo.com.br
|
|
|