Ir para conteúdo

POWERED BY:

Arquivado

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

Scientist

Erro na Classe ?

Recommended Posts

Boa Noite pessoal, toda vez que tento fazer : $produto->getEstilo()->getCod() o processamento simplesmente para (estou debugando com o netbeans), já procurei em toda a classe PojoProduto e não achei nenhum erro, aqui vai minha classe:

 

Obs: O getEstilo() retorna um objeto, e este objeto é o Estilo que eu pego o código dele com getCod()

 

O processamento para na linha com uma seta abaixo:

 

<?php

class PojoProduto{

    private $cod;
    private $estilo;
    private $loja;
    private $categoria;
    private $fabricante;
    private $nome;
    private $valor;
    private $pode_reservar;
    private $foto;
    private $foto2;
    private $foto3;
    private $foto4;
    private $foto5;
    private $tamanho;
    private $cor;
    private $compra_ou_aluga;
    private $clicks;

    public function getCod() {
        return $this->cod;
    }

    public function setCod($cod) {
        $this->cod = $cod;
    }

  ------>>>  public function getEstilo() {
        return $this->estilo;
    }

    public function setEstilo($estilo) {
        $this->estilo = $estilo;
    }

    public function getLoja() {
        return $this->loja;
    }

    public function setLoja($loja) {
        $this->loja = $loja;
    }

    public function getCategoria() {
        return $this->categoria;
    }

    public function setCategoria($categoria) {
        $this->categoria = $categoria;
    }

    public function getFabricante() {
        return $this->fabricante;
    }

    public function setFabricante($fabricante) {
        $this->fabricante = $fabricante;
    }

    public function getNome() {
        return $this->nome;
    }

    public function setNome($nome) {
        $this->nome = strtoupper($nome);
    }

    public function getValor() {
        return $this->valor;
    }

    public function setValor($valor) {
        $this->valor = $valor;
    }

    public function getPode_reservar() {
        return $this->pode_reservar;
    }

    public function setPode_reservar($pode_reservar) {
        $this->pode_reservar = strtoupper($pode_reservar);
    }

    public function getFoto() {
        return $this->foto;
    }

    public function setFoto($foto) {
        $this->foto = strtolower($foto);
    }

    public function getFoto2() {
        return $this->foto2;
    }

    public function setFoto2($foto2) {
        $this->foto2 = strtolower($foto2);
    }

    public function getFoto3() {
        return $this->foto3;
    }

    public function setFoto3($foto3) {
        $this->foto3 = strtolower($foto3);
    }

    public function getFoto4() {
        return $this->foto4;
    }

    public function setFoto4($foto4) {
        $this->foto4 = strtolower($foto4);
    }

    public function getFoto5() {
        return $this->foto5;
    }

    public function setFoto5($foto5) {
        $this->foto5 = strtolower($foto5);
    }

    public function getTamanho() {
        return $this->tamanho;
    }

    public function setTamanho($tamanho) {
        $this->tamanho = strtoupper($tamanho);
    }

    public function getCor() {
        return $this->cor;
    }

    public function setCor($cor) {
        $this->cor = strtoupper($cor);
    }

    public function getCompra_ou_aluga() {
        return $this->compra_ou_aluga;
    }

    public function setCompra_ou_aluga($compra_ou_aluga) {
        $this->compra_ou_aluga = strtoupper($compra_ou_aluga);
    }

    public function getClicks() {
        return $this->clicks;
    }

    public function setClicks($clicks) {
        $this->clicks = $clicks;
    }






}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta a classe que o getEstilo() retorna, se você está setando corretamente o objeto, é bom também um type hinting ..

 

public function setEstilo( Estilo $estilo ) {

 

Lembrando que ( Estilo ) é uma instância do objeto Estilo, altere para o nome do objeto que você seta ..

 

Leia :seta: http://php.net/manual/pt_BR/language.oop5.typehinting.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui vai a classe PojoEstilo ( é a classe que o getEstilo() retorna)

 


<?php

class PojoEstilo {
 private $cod;
 private $nome;
 private $descricao;

 public function setCod($cod){
	$this->cod = $cod; 
 }

 public function getCod(){
	  return $this->cod;
 }

 public function setNome($nome){
	 $this->nome = strtoupper($nome);
 }

 public function getNome(){
	 return $this->nome;
 }

 public function setDescricao($descricao){
	 $this->descricao = $descricao;
 }

 public function getDescricao(){
	 return $this->descricao;
 }

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue o código que chama o getEstilo()->getCod() ...

 

ps: vou fazer o typecast agora..

 

 public function Inserir($produto) {        

       $sql = sprintf("INSERT INTO PRODUTO (COD_ESTILO, COD_LOJA, COD_CATEGORIA, COD_FABRICANTE, NOME_PRODUTO,  VALOR_PRODUTO, PODE_RESERVAR_PRODUTO, FOTO_PRODUTO, FOTO2_PRODUTO, FOTO3_PRODUTO, FOTO4_PRODUTO, FOTO5_PRODUTO, TAMANHO_PRODUTO, COR_PRODUTO, COMPRA_OU_ALUGA_PRODUTO, CLICKS_PRODUTO) VALUES (%s, %s, %s, %s, '%s', %s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %s)", addslashes($produto->getEstilo()->getCod()), addslashes($produto->getLoja()->getCod()), addslashes($produto->getCategoria()->getCod()), addslashes($produto->getFabricante()->getCod()), addslashes($produto->getNome()), addslashes($produto->getValor()), addslashes($produto->getPode_reservar()), addslashes("../admin/foto/produto/" . RetornaUltimoID() . ".jpg"), addslashes("../admin/foto/produto/" . RetornaUltimoID() . "_2.jpg"), addslashes("../admin/foto/produto/" . RetornaUltimoID() . "_3.jpg"), addslashes("../admin/foto/produto/" . RetornaUltimoID() . "_4.jpg"), addslashes("../admin/foto/produto/" . RetornaUltimoID() . "_5.jpg"), addslashes($produto->getTamanho()), addslashes($produto->getCor()), addslashes($produto->getCompra_ou_aluga()), addslashes($produto->getClicks()));

       mysql_query($sql) or die("Não foi possível inserir este PRODUTO");

       echo "<script type='text/javascript'> alert('PRODUTO Inserido com sucesso !'); location.href='index.php?pg=produto/list_produto';</script>";
   }

 

coloquei o typecase e nao funcionou, continua a mesma coisa

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.