Senhores, boa noite, estou tendo dificuldade para popular os set da minha classe FuncaoDao com o array da minha consulta com PDO. Alguém poderia me explicar o que estou fazendo errado ?
Classe Função
<?php
class Funcao{
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;
}
Classe FuncãoDao. A function inserir está funcionando normalmente, equan
<?php
class FuncaoDao
{
public function inserir(Funcao $funcao)
{
$query = "INSERT INTO funcoes(nome) VALUES (:nome)";
$conexao = Conexao::pegarConexao();
$stmt = $conexao->prepare($query);
$stmt->bindValue(':nome',$funcao->getNome());
$stmt->execute();
}
public static function listar()
{
$funcoes = array();
$query = "SELECT id,nome FROM funcoes ORDER BY nome ASC";
$conexao = Conexao::pegarConexao();
$resultado = $conexao->query($query);
while($linha = $resultado->fetchAll(PDO::FETCH_ASSOC))
{
$id = $linha['id'];
$nome = $linha['nome'];
$funcao = Funcao();
$funcao->setId($id);
$funcao->setNome($nome);
array_push($funcoes,$funcao);
}
return $funcoes;
}
Quando chamo a function listar nada é exibido e nenhuma mensagem de erro é exibida.
<?php
$funcoes = FuncaoDao::listar();
foreach($funcoes as funcao) :
echo $funcao->getId()." - ".$funcao->getNome();
echo"</br:>";
endforeach;
?>
`