Ir ao conteúdo

Classes em PHP


Justicar

Posts recomendados

Postado

Estou com um problema relacionado a orientação a objeto no PHP.

Eu Criei uma classe Pessoa

e uma classe Servidor que extends Pessoa.

A classe Pessoa tem os atributos id, nome e nascimento.

A classe Servidor tem o atributo setor.

eu fiz uma função incluir dentro da classe Servidor para inserir os dados do servidor no BD, mas acontece que os dados não estão sendo inseridos corretamente no BD.


/**
*
*Função que inclui os dados do servidor no BD
*
**/
public function incluirServidor(){
//criar um comando PREPARE do PDO
$sql = "INSERT INTO servidores
(nome, setor, nascimento)
VALUES
(:nome, :setor, :nascimento)";

//PDO statement - preparando para a execução
$stmt = $this->pdo->prepare($sql);
$stmt->bindParam(":nome",$this->nome);
$stmt->bindParam(":setor",$this->setor);
$stmt->bindParam(":nascimento",$this->nascimento);

//executar o comando
$stmt->execute();
}

quando eu uso esta função não dá certo. está sendo inserido no BD somente o setor do Servidor.


(...)
$servidor->incluirServidor();
(...)

O nome e a data de nascimento do Servidor também teriam q ser inseridas, já q são herdadas da classe Pessoa.

O q estou fazendo de errado???

Postado

Ok! resolvi o problema.

é porque eu tinha colocado todos os atributos das duas classes como private.

eu mudei todos eles para public e tudo foi inserido com sucesso.

Mas eu gostaria muito q os atributos, das duas classes continuassem como private.

e os dados fossem inseridos sem problema.

tem como fazer isso??

Postado

Crie métodos públicos que retornem e atribuam valores para essas propriedades.

Dá uma pesquisada por "getter e setter". Basicão da orientação a objetos, escapsulamento, blah, blah, blah.

JP

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!