Erro chamada de metodo estatico com spl_autoload_register
Galera sou novo nesse lance de autoload e namespaces...minha estrutura
classes
|---conexao.class.php
modulos
|--funcoes.php
login.php
conexao.class.php
namespace conexao;
define('PDO_TYPE', 'mysql');
define('PDO_HOST', 'xxx');
define('PDO_DBNAME', 'xxx');
define('PDO_CHARSET', 'utf8');
define('PDO_USER', 'root');
define('PDO_PWD', 'xxx');
class Conexao{
private static $pdo;
private function __construct() {
//
}
public static function getInstance() {
if (!isset(self::$pdo)) {
try {
$opcoes = array(
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
\PDO::ATTR_PERSISTENT => false);
self::$pdo = new \PDO(PDO_TYPE . ":host=" . PDO_HOST . "; dbname=" . PDO_DBNAME . "; charset=" . PDO_CHARSET . ";", PDO_USER, PDO_PWD, $opcoes);
} catch (PDOException $e) {
print "<code><strong>Erro:</strong> " . $e->getMessage().'</code>';
}
}
return self::$pdo;
}
}
funcoes.php
spl_autoload_register(function ($class) {
require_once(strtolower(str_replace('\\', '/', $class.'.class.php')));
});
login.php
require_once 'modulos/funcoes.php';
use classes\conexao;
$pdo = new conexao();
$pdo = Conexao::getInstance();
Ao entrar no arquivo login.php dá o erro:
Fatal error: Class 'classes\conexao' not found in C:\inetpub\wwwroot\data\login.php on line 5
Onde estou errando? obrigado!
Discussão (1)
Carregando comentários...