My php system is running on Windows but it is giving UBUNTU error

4

I'm using PSR-4 auto-load. The error is as follows:

  

Fatal error: Uncaught Error: Class 'App \ Models \ Bll \ Professor' not   found in /var/www/html/unaprojetos/App/Controllers/Professor.php:12   Stack trace: # 0 /var/www/html/unaprojetos/App/Routes.php(81):   App \ Controllers \ Professor-> index () # 1 [internal function]:   App \ Routes-> App {closure} (Array, 'teacher') # 2   /var/www/html/unaprojetos/App/Routes.php(83): array_walk (Array,   Object (Closure)) # 3 /var/www/html/unaprojetos/App/Routes.php(19):   App \ Routes- > run ('/ teacher') # 4   /var/www/html/unaprojects/public/index.php(8):   App \ Routes-> constructor () # 5 {main} thrown in   /var/www/html/unaprojetos/App/Controllers/Professor.php on line 12

So here's my code:

<?php


namespace App\Controllers;

class Professor extends Cadastrousuario{
    /*
     * O MÉTODO INDEX É PUBLICO, PORTANTO O SISTEMA NÃO FARÁ VERIFICAÇÃO DE LOGIN
     * PARA PERMITIR QUE PESSOAS SEM CADASTRO POSSAM ACESSAR ESSA PAGINA E SE CADASTRAR
     */
    public function index($msg=""){
        $view = new \App\Views\Cadastrousuario\Professor();
        $model = new \App\Models\Bll\Professor();
        $view->render($model->consultar(), $msg, "novo");
    }

    public function consultar($msg=""){
        /*
         * VERIFICA SE HÁ UMA SESSION EM ANDAMENTO, SE NÃO CRIA UMA NOVA
         * EM SEGUIDA VERIFICA SE O USUARIO ESTÁ LOGADO, SE NÃO O REDIRECIONA A PAGINA DE LOGIN
         */
        if (!isset($_SESSION)) {
            session_start();
        }
        if (isset($_SESSION['logado']) == true){
            $view = new \App\Views\Cadastrousuario\Professor();
            $model = new \App\Models\Bll\Professor();
            $view->render($model->consulta(), $msg, "editar"); 
        }
        else{
            header("Location: http://$_SERVER[HTTP_HOST]/login");
        }
    }
    
asked by anonymous 26.10.2017 / 05:47

1 answer

5

It is a case of case sensitivity problem. Unlike Windows, Ubuntu will not accept paths where the first letter is uppercase as if all the letters were lowercase and vice versa. I noticed that your classes are using names in lowercase, probably the name of the PHP file should be uppercase.

public function consultar($msg=""){
    /*
     * VERIFICA SE HÁ UMA SESSION EM ANDAMENTO, SE NÃO CRIA UMA NOVA
     * EM SEGUIDA VERIFICA SE O USUARIO ESTÁ LOGADO, SE NÃO O REDIRECIONA A PAGINA DE LOGIN
     */
    if (!isset($_SESSION)) {
        session_start();
    }
    if (isset($_SESSION['logado']) == true){
        $view = new \App\Views\Cadastrousuario\Professor();
        $model = new \App\Models\Bll\Professor();
        $view->render($model->consulta(), $msg, "editar"); 
    }
    else{
        header("Location: http://$_SERVER[HTTP_HOST]/login");
    }
}

Check the classes used in this example.

    
26.10.2017 / 07:28