<?php
require 'conexao.php';
include 'cliente.php';
interface IRepositorioCliente{
public function cadastrarCliente($cliente);
public function removerCliente($codigo);
public function atualizarCliente($cliente);
public function buscarCliente($codigo);
public function getListaClientes();
}
class RepositorioClientesMySQL implements IRepositorioCliente{
private $conexao;
public function __construct(){
$this->conexao = new Conexao("localhost", "root", "", "popcorntv");
if($this->conexao->conectar() == false){
echo "Erro " . mysqli_error();
}
}
public function cadastrarCliente($cliente){
$nome = $cliente->getNome();
$cpf = $cliente->getCpf();
$endereco = $cliente->getEndereco();
$dataCadastro = $cliente->getDataCadastro();
$saldoDevedor = $cliente->getSaldoDevedor();
$situacaoCadastro = $cliente->getSituacaoCadastro();
$sql = "INSERT INTO cliente (nome, codigo, cpf, endereco, dataCadastro, saldoDevedor, situacaoCadastro)
VALUES ('$nome', NULL, '$cpf', '$endereco', '$dataCadastro', '$saldoDevedor', '$situacaoCadastro')";
$this->conexao->executarQuery($sql);
}
public function removerCliente($codigo){
$sql = "DELETE FROM cliente WHERE codigo = '$codigo'";
$this->conexao->executarQuery($sql);
}
public function atualizarCliente($cliente){
$nome = $cliente->getNome();
$codigo = $cliente->getCodigo();
$endereco = $cliente->getEndereco();
$cpf = $cliente->getCpf();
$saldoDevedor = $cliente->getSaldoDevedor();
$situacaoCadastro = $cliente->getSituacaoCadastro();
$dataCadastro = $cliente->getDataCadastro();
$sql = "UPDATE cliente SET nome ='$nome', cpf='$cpf', endereco='$endereco', saldoDevedor='$saldoDevedor', situacaoCadastro='$situacaoCadastro', dataCadastro='$dataCadastro'
WHERE codigo ='$codigo'";
$this->conexao->executarQuery($sql);
}
public function buscarCliente($codigo){
$linha = $this->conexao->obtemPrimeiroRegistroQuery("SELECT * FROM cliente WHERE codigo='$codigo'");
$cliente = new Cliente($linha['nome'], $linha['codigo'], $linha['cpf'], $linha['endereco'], $linha['dataCadastro'], $linha['saldoDevedor'], $linha['situacaoCadastro']);
return $cliente;
}
public function getListaClientes(){
$listagem = $this->conexao->executarQuery("SELECT * FROM cliente");
$arrayClientes = array();
while($linha = mysqli_fetch_array($listagem)){
$cliente = new Cliente($linha['nome'], $linha['codigo'], $linha['cpf'], $linha['endereco'], $linha['dataCadastro'], $linha['saldoDevedor'], $linha['situacaoCadastro']); //o erro está nessa linha
array_push($arrayClientes, $cliente);
}
return $arrayClientes;
}
}
$repositorio = new RepositorioClientesMySQL();
?>
Mensagem do erro:
Fatal error: Call to private Cliente::__construct() from context 'RepositorioClientesMySQL' in C:\xampp\htdocs\popcorntv\repositorio_cliente.php on line 68
Pergunta
geysa18
Erro no repositório, como corrigir:
Código:
repositorio_cliente.php
<?php require 'conexao.php'; include 'cliente.php'; interface IRepositorioCliente{ public function cadastrarCliente($cliente); public function removerCliente($codigo); public function atualizarCliente($cliente); public function buscarCliente($codigo); public function getListaClientes(); } class RepositorioClientesMySQL implements IRepositorioCliente{ private $conexao; public function __construct(){ $this->conexao = new Conexao("localhost", "root", "", "popcorntv"); if($this->conexao->conectar() == false){ echo "Erro " . mysqli_error(); } } public function cadastrarCliente($cliente){ $nome = $cliente->getNome(); $cpf = $cliente->getCpf(); $endereco = $cliente->getEndereco(); $dataCadastro = $cliente->getDataCadastro(); $saldoDevedor = $cliente->getSaldoDevedor(); $situacaoCadastro = $cliente->getSituacaoCadastro(); $sql = "INSERT INTO cliente (nome, codigo, cpf, endereco, dataCadastro, saldoDevedor, situacaoCadastro) VALUES ('$nome', NULL, '$cpf', '$endereco', '$dataCadastro', '$saldoDevedor', '$situacaoCadastro')"; $this->conexao->executarQuery($sql); } public function removerCliente($codigo){ $sql = "DELETE FROM cliente WHERE codigo = '$codigo'"; $this->conexao->executarQuery($sql); } public function atualizarCliente($cliente){ $nome = $cliente->getNome(); $codigo = $cliente->getCodigo(); $endereco = $cliente->getEndereco(); $cpf = $cliente->getCpf(); $saldoDevedor = $cliente->getSaldoDevedor(); $situacaoCadastro = $cliente->getSituacaoCadastro(); $dataCadastro = $cliente->getDataCadastro(); $sql = "UPDATE cliente SET nome ='$nome', cpf='$cpf', endereco='$endereco', saldoDevedor='$saldoDevedor', situacaoCadastro='$situacaoCadastro', dataCadastro='$dataCadastro' WHERE codigo ='$codigo'"; $this->conexao->executarQuery($sql); } public function buscarCliente($codigo){ $linha = $this->conexao->obtemPrimeiroRegistroQuery("SELECT * FROM cliente WHERE codigo='$codigo'"); $cliente = new Cliente($linha['nome'], $linha['codigo'], $linha['cpf'], $linha['endereco'], $linha['dataCadastro'], $linha['saldoDevedor'], $linha['situacaoCadastro']); return $cliente; } public function getListaClientes(){ $listagem = $this->conexao->executarQuery("SELECT * FROM cliente"); $arrayClientes = array(); while($linha = mysqli_fetch_array($listagem)){ $cliente = new Cliente($linha['nome'], $linha['codigo'], $linha['cpf'], $linha['endereco'], $linha['dataCadastro'], $linha['saldoDevedor'], $linha['situacaoCadastro']); //o erro está nessa linha array_push($arrayClientes, $cliente); } return $arrayClientes; } } $repositorio = new RepositorioClientesMySQL(); ?>Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.