Eu estava aqui treinando a criação de classes em PHP.
Criei o código a seguir:
Arquivo tpl.class.php
<?php class TPL{ function TituloSite($nome){ echo "$nome"; } function TopoSite(){ echo "<div id='topo'>Aqui é o topo do site.</div>\n"; } function ConteudoSite(){ $estilo = $this->ConfiguraConteudo(2); echo "<div id='conteudo'>Aqui é o conteúdo do site</div>\n $estilo</div>\n"; } function Rodape(){ echo "<div id='rodape'>Aqui é o rodapédo site.</div>\n"; } //Aqui vou dar 2 opções de visual para meu conteudo (1 - barra a esquerda, 2 - barra a direita) function ConfiguraConteudo($visual){ if ($visual == 1){ echo "<div>O visual escolhido foi o 1</div>\n"; } else { echo "<div>O visual escolhido foi o 2</div>\n"; } } } ?>
Arquivo index.php
<?php include("tpl.class.php"); $index = new TPL(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php $index->TituloSite("Aqui eu digo o titulo"); ?></title> </head> <body> <?php $index->TopoSite(); $index->ConteudoSite(); $index->Rodape(); ?> </body> </html>
Quando executo index.php no navegador aparece assim:
Aqui é o topo do site.
O visual escolhido foi o 2
Aqui é o conteúdo do site.
Aqui é o rodapé do site.
Então, a intenção era que aparecesse assim:
Aqui é o topo do site.
Aqui é o conteúdo do site.
O visual escolhido foi o 2
Aqui é o rodapé do site.
Deveria aparecer desta forma por que a classe colocaria a função ConfiguraConteudo dentro da div conteudo.
Alguém poderia me ajudar nessa?