Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com autoload


Rodrigo Mafra

Pergunta

Galera, estou com um problema muito chato, eu mesmo fiz meu frameworkzinho, só que localmente(Localhost) funciona tudo perfeito, os arquivos carregados pelo autoload é tudo carregado na ordem perfeita.

Porém quando eu coloco o arquivo online o autoload carrega os arquivos muito loucamente. não os carrega na ordem certa, porém o site não funciona vou mostrar o q ta acontencendo.

<?php
session_start();



//DEFININDO CONSTANTES COM OS CAMINHOS DE CADA ARQUIVO A SER CHAMADO


define('CONTROLLERS', 'app/controller/');
define('VIEWS', 'app/views/');
define('HELPERS', 'system/helpers/');
define('MODELS', 'app/models/');
define('BASE', dirname($_SERVER['PHP_SELF']));


//CHAMANDO A PASTA SYSTEM, CONTROLADOR E O MODELO
require_once('system/system.php');
require_once('system/model.php');
require_once('system/controller.php');
//require_once('system/conector.php');
//date_default_timezone_set('America/Recife');

//FUNÇÃO QUE CARREGA AUTOMATICAMENTE OS ARQUIVOS DA PASTA models e Helpers
//var $file PEDE O NOME DO ARQUIVO 
 function __autoload( $file ){
     
        if ( file_exists(MODELS . $file . '.php') )
            require_once( MODELS . $file . '.php' );
        
        else if ( file_exists(HELPERS . $file . '.php') )
           require_once( HELPERS . $file . '.php' );
            
        else
            
            die("Model ou Helper não encontrado.");
    }

    

   
    $start = new System;
    $start->run();
    $start->setTimezone('America/Recife');
   

?>

Tá dando erro 'Model ou Helper não encontrado.' como se os arquivos não existissem, mas existe.

Eu fui dá um echo pra vê o q " MODELS . $file . '.php' tava " carregando.

porém ta carregando numa ordem doida..

1.

exemplo.. ele ta carregando MODELS . $file . '.php' era pra ele carregar o arquivo requerido da pasta models.. porém ele está carregando o arquivo da pasta HELPErs.

quando eu dou um echo mostra... 'app/models/redirectorHelper.php', vai dá um erro porque o redirectorHelper.php

ta na pasta system/helpers/. era pra ele carregar qualquer arquivo do Model.

e vice e versa.

tou tentando hospedar no 00webhost, se alguém sabe porque ta dando isso por favor me ajude.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

caramba, o erro todo é porque o nome da minha classe tava com o incial com letra pequena,

ai agora apareceu mais outro bugs.

Engraçado que localmente funciona perfeito vei.. quando eu postei na porcaria do webhosst f**** tudo.

agora os link não funciona..

tipo no que eu fiz, foi o seguinte .

MVC,

www.site.com.br/contato/cadastrar

ond contato = meu controller

e cadastrar é action.

quem mexe com zend, algum framework deve saber..

se eu colocar contato/index.php

ai vai para na página de cadastro dos membros..

que no código ta asism . 
Classe controller
<?php
    class Controller extends System{
      
       
       //Função que chama views , e chama também  os paramentros passados (array de dados).

        
        protected function view( $nome, $vars = null, $vars2 = null ){
            

          
            
           
            
            if( is_array($vars) && count($vars) > 0 )
                extract ($vars, EXTR_PREFIX_ALL, 'view');
                $file = VIEWS .$nome. '.phtml';
                
                
           if( is_array($vars2) && count($vars2) > 0 )
                extract ($vars2, EXTR_PREFIX_ALL, 'view');
                $file = VIEWS .$nome. '.phtml';     

                if ( !file_exists($file) )
                    header ('Location: '.BASE.'/erro');
            
           
            require_once( $file );
        }
        
      
        
       
    }
<?php

class contato extends Controller {
    
    public function init(){
        
    }
    
    public function index_action(){
        $this->view('contato');
    }
    
    public function enviarEmail(){
         $email = new contatoModel();
         $email->email();
        echo'mensagem enviada';
    }
}
?>

pronto só com isso eu digitando localhost/contato ele já vai chamar minha pagina de 'contato.phtml' que foi passado na função index_action()

porém quando eu vou no site www.site.com.br/contato ele não vai cara da um erro404 já arrumei o .htacess + ta foda vei...

caraca vei já rodei outro aplicativo aqui que fiz só que menos complexo,rodou de boa, agora esse aqui ta me ferrando.

a unica coisa q ta funcionado é o www.site.com.br/index

+ o links ta tudo quebrado... já tentei renomear os links todinhos vei, + ta muito tenso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...