PHP Coupé

Aprendendo

Blocos, conteúdos, modelos, variáveis e módulos

Antes de começar a montar um projeto como exemplo, é fundamental entender como as partes - modelos, módulos e conteúdo - se relacionam para formar o projeto final.

Conteúdos

Conteúdos podem ser escritos em HTML ou Javascript. Pela forma como o programa é escrito, e por sua filosofia, conteúdos não podem ser escritos em PHP ou conter trechos em PHP. Os códigos não serão executados, simplesmente não vai funcionar.

Além de HTML e Javascript, arquivos de conteúdo podem ter chamadas para Blocos de Conteúdo e Módulos.

Por padrão, os arquivos de conteúdo possuem a extensão 'cnt.php'.

Outro detalhe importante: arquivos de conteúdo DEVEM ser nomeados de forma hierárquica para o programa saiba qual documento é principal ou qual é sublink de outro documento. Para isso, os arquivos são nomeados utilizando um '.' (ponto) que controla essa hierarquia.

Por exemplo: pai.cnt.php é um documento principal. Já pai.filho.cnt.php é sublink do documento pai. E pai.filho.neto.cnt.php é sublink do sublink filho. E assim por diante...

Esse modelo diz então ao PHP Coupé o que é página inicial, a ordem dos documentos no menu, e quem é sublink de quem.

Modelos

Assim como os Conteúdos, Modelos podem ser escritos somente em HTML ou Javascript. Também podem ter chamadas para Blocos de Conteúdo e Módulos.

Modelos podem ter chamadas para Conteúdos. Em seu Modelo, aonde estiver escrita a marcação {{content}} será carregado o conteúdo do arquivo de conteúdo.

Por padrão os arquivos de modelos DEVEM possuir a extensão '.tpl.php' e também ter o nome igual ao do conteúdo a quem ele pertence. Isso é usado para orientar o programa a carregar determinado modelo quando o usuário estiver visualizando determinado conteúdo.
Por tanto, caso seu Modelo se chame 'contato.tmp.php', quando você acessar o Conteúdo 'contato.cnt.php', esse modelo será utilizado. Se você acessar o arquivo 'contato.rh.cnt.php' (sublink de 'contanto.cnt.php'), o modelo de seu pai será utilizado.

Não é obrigatório criar Modelos. Caso você não o faça, apenas o conteúdo do seu site será exibido no browser.

Você pode também criar o arquivo de modelo chamado 'default.tpl.php'. Sua função é aplicar seu layout a todos Conteúdos do site. Somente se o PHP Coupé encontrar um modelo com o mesmo nome do arquivo de conteúdo irá utiliza-lo no lugar do modelo default.

Módulos

Módulos são nada mais que códigos PHP separados em arquivos distintos.

Para invocar módulos, basta digitar sua chamada dentro de Modelos, Conteúdos ou Blocos de Conteúdos: [[nome_do_modulo]]

Uma coisa boa é que Módulos podem ser invocados usando parâmetros. Você pode passar informações para as variáveis de seu módulo durante sua chamada da mesma forma que submeteria dados via GET para uma página.

Exemplo: [[nome_do_modulo?variavel=1]]

Blocos

Blocos de Conteúdo, como o próprio nome diz, são trechos HTML e/ou JavaScript que podem ser adicionados a Modelos ou Conteúdos do PHP Coupé.

Blocos de Conteúdo são úteis para carregar aqueles pequenos trechos que irão repetir várias vezes no site, inclusive em Modelos diferentes. Como por exemplo banners, frases ou links, metatags dentro da tag <head> de seu Modelo, etc.

Blocos também podem invocar Módulos.

Para invocar Blocos em seus documentos, utilize a marcação: [#nome_do_bloco#]

Variáveis

À partir da versão 0.5, com o apoio de Fernando Alonso, o PHP Coupé passou a trabalhar com o conceito de Variáveis. Para isso foi definido um novo tipo de marcação: [% %]. Onde estiver inserida essas marcações, será substituito por um valor que esteja armazenado dentro de uma variável específica do PHP Coupé.

Para alimetar essa Variável usamos o novo método setVar() com seus dois parâmentros. O primeiro parâmetro do método fornece um identificador. E o segundo parâmentro fornece o valor a ser armazenado. Sendo assim, caso usemos o comando $Coupe->setVar("meu_nome", "Samuel"), onde estiver escrito [%meu_nome%] será substituido por "Samuel". Simples assim.

Isso pode ser interrante para várias aplicações. Uma pode ser o caso em que queremos formatar a exibição de um resultado. Dessa forma, o programador pode fazer um Módulo que armazene valores nas variáveis. Então outra pessoa poderá criar o HTML que exibirá o resultado final formatado, bastando colocar as marcações onde os valores das variáveis for aparecer. Outra possibilidade é tornar Modelos e Blocos de Conteúdo mais dinâmicos. (Valew Fernando!)

Exemplo de código

Página - http://www.teste.com.br/teste

Modelo - home.tlp.php

<!DOCTYPE html PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN">

<html>

<head>

Bloco - metatags.blk.php

<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1" />

<title>Teste</title>

</head>

<body>

</body>

</html>

<h1><a href="?id=01">A Empresa</a></h1>

<div id="div_menu">

Módulo - menu.mdl.php

<ul>
<li><a href="?id=01">Home</a></li>
<li><a href="?id=02">A Empresa</a></li>
<li><a href="?id=03">Produtos</a></li>
<li><a href="?id=04">Contato</a></li>
</ul>

</div>

<div id="div_conteudo">

Conteudo - home.cnt.php

<h2>Home</h2>
<p>Bem-vindo a nossa empresa!</p>

</div>

<div id="div_rodape">

Bloco - endereco.blk.php

<address>Endereço</address>

</div>

Aprendendo

Mudar idioma:

Versão atual: 0.5
Licenciado sob Creative Commons by-nd

Desenvolvido por Samuel Corradi 2008.