
		thiagorthomaz
		
		(usa Ubuntu)
		
		Enviado em 31/01/2012 - 15:25h 
		Boa tarde,
Pessoal to aprendendo PHP OO, e me deparei com uma dificuldade no autoload das classes.
O script abaixo deveria exibir <h2>HOME PAGE</h2> na primeira vez que acesso, e mostrar um link para ir para a tela de Cadastro.
Agradeço se puderem me apontar o erro, pois estou quebrando a cabeça e o php exibe o arquivo em branco. OBS: Estou tentando fazer 100% orientado a objeto e sem repetição de códigos. Agradeço as dicas e observações.
index.php
<?php
ini_set("display_errors", true);
error_reporting(E_ALL);
/**
 * Função detinada a autocarregamento das classes.
 * @param string $nomeClasse 
 */
function __autoload($nomeClasse) {
    $nome_arquivo = $nomeClasse.'.class.php';
    $pastas = array(
        "controller/",
        "model/",
        "view/"
    );
    $encontrado = false;
    $qtd_pastas = count($pastas);
    $posicao = 0;
    while (!$encontrado && $posicao < $qtd_pastas) {
        if (file_exists($pastas[$posicao] . $nome_arquivo)) {
            require_once $pastas[$posicao] . $nome_arquivo;
            break;
        }
        $posicao++;
    }
 }
/**
 * Acessa as páginas 
 */
 
 function telas(){
     if (!isset($_REQUEST['acao'])) {
         $pagina = "homePage";
     } else {
        $pagina = $_REQUEST['acao'];
     }
     $tela = new Tela;
     if ($pagina == "homePage") {
        $tela->homePage();
     }
     if ($pagina == "desenhaTelaCadastro") {
         $tela->desenhaTelaCadastro();
     }
 }
?> 
Tela.class.php
<?php
class Tela{ 
    
    private function cabecalho($titulo){
        echo        "<!DOCTYPE html>";
        echo "<html>";
        echo     "<head>";
        echo         "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">";
        echo         "<title>".$titulo."</title>";
        echo     "</head>";
        echo         "<body>";
    }
    
    private function rodape(){
        echo         "</body>";
        echo "</html>";
    }
    
    public function homePage(){
        $this->cabecalho("Home Page");
        echo "<h2>HOME PAGE</h2>";
        echo "<a href=\"?=acao=desenhaTelaCadastro\">Cadastro</a>";
        $this->rodape();
    }
    public function desenhaTelaCadastro(){
      $this->cabecalho("Cadastro Usuario");
        echo "<h2>Cadastra Usuario<\h2><br><br>";
        echo "<form name=\"Cadastra usuario\" method=\"post\" action=\"../index.php?acao=UsuarioRN.cadastraUsuario\">";
        echo "Nome:  <input type=\"text\" name=\"nome\" id=\"nome\" size=\"50\"><br>";
        echo "Email: <input type=\"text\" name=\"email\" id=\"email\" size=\"50\"><br>";
        echo "Login: <input type=\"text\" name=\"login\" id=\"login\" size=\"50\"><br>";
        echo "Senha: <input type=\"password\" name=\"senha\" id=\"password\" size=\"50\"><br>";
        echo "<input type=\"submit\" value=\"Cadastrar\">";
        echo "</form>";
        $this->rodape();
    }
}
?>