Jump to content
Fórum Script Brasil
  • 0

Problema com autoload


Question

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 to post
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148854
    • Total Posts
      644872
×
×
  • Create New...