Preciso de ajuda com minha aplicação PHP

19/04/2023

0

Bom! Desenvolvi minha aplicação utilizando xampp e nele está rodando 100% sem problemas, porém ao fazer o deploy para minha VPS linux, onde usei vhost no apache e testei no nginx também, a aplicação sempre leva à página de erro 404 declarada no arquivo Application.php. Peço ajuda para que minha aplicação funcione corretamente, por isso, estarei deixando alguns códigos e as imagens da estrutura de pastas do projeto.

Estrutura de pasta MVC:

Raiz:
https://prnt.sc/8TAKnDHV_LHy

Painel:
https://prnt.sc/tfgvwCDJmQmX

Painel/Controllers:
https://prnt.sc/Cqp6h6sYjxaO

Painel/Models:
https://prnt.sc/LB1FEZuf1WMi

Painel/Views:
https://prnt.sc/RDybUcY6aaX7

Painel/Views/Pages:
https://prnt.sc/TGEwQlyo5ybN

O código de index.php:
<?php
session_start();
date_default_timezone_set('America/Recife');
require('vendor/autoload.php');

define('INCLUDE_PATH_STATIC', 'http://localhost/Painel/Views/Pages/');
define('INCLUDE_PATH', 'http://localhost/');


$app = new Painel\Application;

$app->run();

?>


O código de Application.php:

<?php

namespace Painel;

class Application
{

    private $controller;

    private function setApp()
    {
        $loadName = 'Painel\Controllers\';
        $url = explode('/', @$_GET['url']);

        if ($url[0] == '') {
            $loadName .= 'Home';
        } else {
            $loadName .= ucfirst(strtolower($url[0]));
        }

        $loadName .= 'Controller';

        if (file_exists($loadName . '.php')) {
            $this->controller = new $loadName();
        } else {
            include('Views/Pages/404.php');
            die();
        }
    }

    public function run()
    {
        $this->setApp();
        $this->controller->index();
    }
}

?>


O código de MainView.php:

<?php

namespace Painel\Views;

class MainView
{

    public static function render($filename)
    {
        include('pages/' . $filename . '.php');
    }

}


?>

Thyago Dantas

Thyago Dantas

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar