Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro de acesso as propriedades

Depois das alterações no produto-lista.php estou recebendo esse erro

PHP Fatal error: Uncaught Error: Cannot access protected property Categoria::$nome in /mnt/projetos/testes/alura/PHP_POO_1/banco-produto.php:15

3 respostas

Oi Vitor, coloca o código do banco-produto.php aqui pra ficar melhor de entender o que está acontecendo?

abraços!

A linha 15 do banco-produto.php deve estar da seguinte forma:

$categoria->setNome($produto_array['categoria_nome']);

Se estiver assim, talvez o problema esteja na classe categoria. A classe Categoria deve estar da seguinte forma:

<?php

class Categoria {

    private $id;
    private $nome;

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

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

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

}

?>

Dentro da classe o ID e o nome estão private porque o acesso ou alteração é feito pelo getters e setters, ou seja, se tentar algo como $categoria->nome = "alguma coisa" tem que dar erro.

solução!

Na verdade foi falta de atenção minha. Eu não tinha arrumado o arquivo banco-produtos.php antes de testar. Já esta funcionando.

Obrigado pela ajuda.