Ir para conteúdo
Fórum Script Brasil
  • 0

Classes PHP


Vitor Eduardo

Pergunta

Olá pessoal!

Tenho duas classes num projetinho pequeno que estou iniciando. db.php para o banco e news.php para Notícias, obviamente.

Abaixo segue o código:

Classe DB:

class Oxygendb {
    private $hostOxy = 'localhost';
    private $portOxy = '5432';
    private $baseOxy = 'oxygen';
    private $userOxy = 'postgres';
    private $passOxy = '';
    private static $instance = null;

    public static function getInstance() {
      if (!self::$instance instanceof self) {
        self::$instance = new self;
      }
      return self::$instance;
    }

    public function _clone() {
      trigger_error('Clone is not allowed.', E_USER_ERROR);
    }
    
    public function _wakeup() {
      trigger_error('Deserializing is not allowed.', E_USER_ERROR);
    }

    private function _construct() {
      $this -> connection = pg_connect( "host=$this->hostOxy dbname=$this->baseOxy port=$this->portOxy user=$this->userOxy password=$this->passOxy" );
      if ( ! $this -> connection ) {
        echo( 'Não foi possível conectar-se ao servidor.' );
      }
    }
    
    private function _destruct() {
        pg_close( $this -> connection );
    }
    
    public function Query( $command ) {
        $result = pg_query( $this -> connection , $command );
        return $result;
    }
}
Classe News:
require_once( "db.php" );
class news {
    
    private $idnew;
    private $titlenew;
    private $resumenew;
    private $textnew;
    private $langnew;
    private $datenew;
    private $spotlightnew;
    private $sourcenew;
    private $newsSpot = null;
    private static $instance = null;
       
    public static function getInstance() {
      if (!self::$instance instanceof self) {
        self::$instance = new self;
      }
      return self::$instance;
    }

    public function _clone() {
      trigger_error('Clone is not allowed.', E_USER_ERROR);
    }
    
    public function _wakeup() {
      trigger_error('Deserializing is not allowed.', E_USER_ERROR);
    }

    public function getNewsSpot() {
      $newsSpot = Oxygendb::getInstance()->Query( "select titlenew,resumenew from news where spotlightnew = '"."S"."' and langnew = '"."pt"."'" );
      return $newsSpot;
    }
}
No index chamo assim o método para preencher o título da notícia e um resume dela:
require_once( "classes/news.php" );
$indexSpot = news::getInstance()->getNewsSpot();
$Spot = pg_fetch_row( $indexSpot );
e uso assim no meio do código do index:
<div id="news_title"><?= $Spot[ 1 ]; ?></div>
<div id="news_content"><?= $Spot[ 2 ]; ?></div>

O problema é que não carrega o index. Fica em branco no navegar aprece "Done" (Conluído) na barra de status do navegador e zé finí. Da a impressão que fica tentando carregar.

estou a um tempo penando no erro. Podem me ajudar?

No aguardo.

Vitor Eduardo, graticíssimo desde já. ;-)

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
não sei quanto aos demais, mas se você puder explicar melhor o que exatamente você quer fazer vai ajudar cara...

Seguinte. Tenho um index onde tem uma área onde aparece o título da notícia e um resumo dela. isso ta armazenado num banco Pg. criei uma classe (db.php) de conexão com o banco que também executa querys (metodo Query()). Há também uma classe (news.php) que chama a classe do banco. Na classe news após conectar com o banco executo o método getNewsSpot() que deveria trazer ao index.php a notícia do banco. o Método getNesSpot() chamo na página index. o código está acima. e o que ocorre descrevi abaixo dos códigos, no fim do primeiro post.

Link para o comentário
Compartilhar em outros sites

  • 0

cara, tem meios mais simples de resolver isso, esse metodo que você citou eu não conheço, não programo a muito tempo em php mas procurei sobre ele no manual de referencia e não achei... procura aqui no fórum mesmo, tópicos q o pessoal pede ajuda pra fazer isso que você vai ver q existem métodos mais simples...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...