Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nerdmonkey

Classe php com dados para conexão NULL

Recommended Posts

Boa noite pessoal.

 

Uma ajuda, por favor!

Como faria pra que essa classe funcione sem os dados para conexão pré-definidos ?

Preciso criar uma outra classe eu sei e uma ajuda agora vai ser bem vinda.

A outra classe deve checar se os parâmetro estão vazios e então redirecionar para a tela de instalação, onde então termos os dados para conexão com o BD definidos pelo desenvolvedor.

 

A classe de conexão

 

 

<?php
/**
 * Classe de conexão ao banco de dados usando PDO no padrão Singleton.
 * Modo de Usar:
 * require_once './Database.class.php';
 * $db = Database::conexao();
 */
class Database
{
protected static $db;
 
private function __construct( $db_host, $db_nome, $db_usuario, $db_senha, $db_driver )
{ 
$db_host    = $db_host;
$db_nome    = $db_nome;
$db_usuario = $db_usuario;
$db_senha   = $db_senha;
$db_driver  = $db_driver;
 
try
{
self::$db = new PDO("$db_driver:host=$db_host; dbname=$db_nome", $db_usuario, $db_senha);
self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$db->exec('SET NAMES utf8');
}
catch (PDOException $e)
{
mail( $sistema_email, "PDOException em $sistema_titulo", $e->getMessage());
die("Connection Error: " . $e->getMessage());
}
}
 
public static function showConstant(){
echo self::URL;
}
 
public static function conexao()
{
if( !self::$db ){ new Database(); }
return self::$db;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como faria pra que essa classe funcione sem os dados para conexão pré-definidos ?

"funcione" o que exatamente ?

 

Desde que o __contruct desse objeto pede pelos dados, você não deveria nem chamar o método Database ::conexao() caso não tenha o dado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma ideia Willian, porque estou trabalhando na ideia ainda.

Vou dar uma olhada em como o WP faz isso, porque é exatamente daquela forma que quero fazer.

Se é o primeiro acesso, ele redireciona pra instalação. Ai lá colocamos os dados de conexão, assim a ferramenta fica configurada pra rodar no servidor local ou em um web após configurado corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.