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

Problema na inerência das classes


Frank K Hosaka

Pergunta

Hoje eu criei a classe OrcamentoControle como uma extensão da classe ProdutoControle, assim eu consegui usar a função procurar( ) do ProdutoControle dentro da classe OrçamentoControle.

O problema é que eu só consegui usar só uma vez. Na segunda vez, o PHP reclamou que o ProdutoControle não tinha conexão.

Para continuar com o serviço, eu tive que fazer uma bela gambiarra, ao invés de iniciar a conexão com o famoso __construct( ), eu defini a conexão dentro da função da classe ProdutoControle:

Arquivo Astudy > Controles > ProdutoControle.php 
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/Astudy/Modelos/Conexao.php";
class ProdutoControle{
    private $pdo;
    public function procurar(){
        $this->pdo=Conexao::instancia();
        $stmt=$this->pdo->query("select * from tbprod limit 10");
        $produtos=$stmt->fetchAll(PDO::FETCH_OBJ);
        require $_SERVER['DOCUMENT_ROOT'] . "/Astudy/Visoes/Produtos.php"; exit;
    }
}

Arquivo Astudy > Controles > OrcamentoControle.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/Astudy/Controles/ProdutoControle.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/Astudy/Modelos/Conexao.php";
class OrcamentoControle extends ProdutoControle {
    private $pdo;
    public function __construct(){
        $this->pdo=Conexao::instancia();}
    public function inicio(){
        $pedido=1;
        if(isset($_GET['codprod']) && !isset($_GET['qt'])){
            $prod['codprod']=$_GET['codprod'];
            $prod['prod']=$_GET['prod'];
            $prod['custo']=$_GET['custo'];}
        $stmt=$this->pdo->query("select * from tbhistped join tbprod 
            on tbhistped.codprod = tbprod.codprod where ped=$pedido");
        $itens=$stmt->fetchAll(PDO::FETCH_OBJ);
        require $_SERVER['DOCUMENT_ROOT']."/Astudy/Visoes/Orcamento.php";exit;}
    public function incluir(){
        $ped=1;
        $codprod=$_GET['codprod'];
        $qt=$_GET['qt'];
        $subtotal=$codprod*$qt;
        $this->pdo->query("insert into tbhistped (ped,codprod,qt,subtotal) 
            values ($ped,$codprod,$qt,$subtotal)");
        $this->inicio();}}
$controle=new OrcamentoControle();
if(isset($_GET)){
    if(key($_GET)=='produto'){$controle->procurar();}
    if(key($_GET)=='codprod'){$controle->inicio();}
    if(key($_GET)=='qt'){$controle->incluir();}
}

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...