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.
Pergunta
metalbolic
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
Espero que alguém posso me ajudar, grato antecipadamente.
Editado por metalbolicLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.