Ir para conteúdo
Fórum Script Brasil

metalbolic

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por metalbolic

  1. Boa Tarde!!!

    Pessoal.,

    Creio eu que fiz tudo correto criei uma classe no padrão singleton, e preciso agora trabalhar com essa classe, porém, crio outro arquivo num diretório diferente para utilização da classe e não consigo, não me retorna erro, nem exceções.

    Exemplo da classe:

    <?php
    
    namespace aplicativo\configuracoes;
    
    final class instanciabd {
        private static $instancia= null;
        private $opcoes= array (
            \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
            \PDO::ATTR_PERSISTENT => true);
        private $conexao= null;
        
        final private function __construct() {}
        final private function __close() {
            throw new \Exception("Erro");
        }
        final private function __wake() {
            throw new \Exception("Erro");
        }
        
        final public static function obterinstancia() {
            if(self::$instancia === null) {
                self::$instancia= new instanciabd();
            }
            else {
                return self::$instancia;
            }
        }
        
        final public function obterconexao(array $config) {
            if($this->conexao === null) {
                try {
                    $this->conexao= new \PDO($config['driver'] . ":host=" . 
                    $config['server'] . ";dbname=" . $config['dbname'],
                    $config['usuario'], $config['senha'], $this->opcoes);
                    return $this->conexao;
                } catch (\Exception $erropdo) {
                    die("Erro: " . $erropdo->getMessage() . "<br />" . 
                    $erropdo->getTrace());
                }
            } else {
                return $this->conexao;
            }
        }
    
    }

    Utilizo NetBeans 8, para desenvolvimento.

    Continuando, crio o seguinte arquivo para manipulação

    <?php
    
    namespace aplicativo;
    
    require_once '\..\aplicativo\configuracoes\instanciabd.classe.php';
    
    $instanciabanco= configuracoes\instanciabd::obterinstancia();
    
    $conexaobanco= $instancia-> (Aí está o problema, não aparece o metodo
    obterconexao para ser chamado, nem atritubos nada.)
    
    //Quando executo
    var_dump($instanciabanco);
    
    //Retorna: Um objetivo, com o atributo conexão= NULL;
    
    

    Espero que alguém posso me ajudar, grato antecipadamente.

×
×
  • Criar Novo...