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!