Carlos Rocha Posted August 19, 2020 at 12:32 PM Report Share #619110 Posted August 19, 2020 at 12:32 PM (edited) Pessoal, bom dia! Não estou conseguindo importar uma classe usando composer. O intrigante é que é apenas uma e tudo, aparentemente, esta correto. Árvore do projeto site / /classes /classes/Rotas.php /mvc /mvc/controller /mvc/controller/Contato.php /mvc/view /mvc/view/contato.php /mvc/view/home.php /public /public/config.php /public/index.php /public/router.php /vendor Tenho o index que importa 2 arquivos somente, um de config e outro de router. index.php <?php require_once 'config.php'; require_once 'router.php'; config.php <?php error_reporting(E_ALL); ini_set('display_errors', true); date_default_timezone_set('America/Sao_Paulo'); require_once '../vendor/autoload.php'; router.php <?php use classes\Rotas; $rota = new Rotas; $rota->get("/", function() { require_once '../mvc/view/home.php'; }); $rota->get("/contato", "Contato@form"); Rotas.php <?php namespace classes; use mvc\controller\Contato; class Rotas { public function get (String $rota, $require = null){ if ($_SERVER['REQUEST_URI'] === $rota) { if ( is_string($require) and $require !== "" ){ $require = strtolower($require); $require = explode('@', $require); $class = ucfirst($require[0]); $metodo = $require[1]; $classe = new $class; return $classe->$metodo(); } if ( is_callable ($require) ) $require(); } } } Contato.php <?php namespace mvc\controller; class Contato { public function form () { require_once '../mvc/view/contato.php'; } } Erro: Fatal error: Uncaught Error: Class 'Contato' not found in D:\web\rotas.com\classes\Rotas.php:25 Stack trace: #0 D:\web\rotas.com\public\router.php(11): classes\Rotas->get() #1 D:\web\rotas.com\public\index.php(4): require_once('D:\\web\\rotas.co...') #2 {main} thrown in D:\web\rotas.com\classes\Rotas.php on line 25 Não acho essa falha Detalhe: a Classe Routas.php está sendo carregada normalmente, o que me garante que o autoload está funcionando também!. Edited August 19, 2020 at 12:41 PM by Carlos Rocha Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now