I'm doing a crud with MVC
and POO
following a course and I get the following error
I take a while trying to solve the problem but I can not find a way, this is the file where the error marks me
class EntidadBase{
private $table;
private $db;
private $conectar;
public function __contruct($table){
$this->table = (string) $table;
require_once 'Conectar.php';
$this->conectar = new Conectar();
$this->db = $this->conectar->Conexion();
}
public function getConectar(){ // Para sacar la conexion desde otros sitios solo llamandolo
return $this->conectar;
}
public function db(){
return $this->db;
}
public function getAll(){
$query = $this->db->query("SELECT * FROM $this->table ORDER BY id DESC"); // Linea que marca el error
while($row = $query->fetch_object()){
$resultSet[] = $row;
}
return $resultSet;
}
public function getById($id){ // Consulta a un id especifico en la tabla
$query = $this->db->query("SELECT * FROM $this->table WHERE id=$id");
if($row = $query->fetch_object()){
$resultSet = $row;
}
return $resultSet;
}
public function getBy($column, $value){ // Consulta a una columna especifica con su valor especifico
$query = $this->db->query("SELECT * FROM $this->table WHERE $column='$value'");
while($row = $query->fetch_object()){
$resultSet[] = $row;
}
return $resultSet;
}
public function deleteById($id){ // Eliminar un elemento
$query = $this->db->query("DELETE FROM $this->table WHERE id = $id");
return $query;
}
public function deleteBy($column, $value){
$query = $this->bd->query("DELETE FROM $this->table WHERE $column = '$value'");
return $query;
}
}
Si alguien podría guiarme, apenas estoy empezando a aprender la 'POO'.
UserController Code
class UsuariosController extends ControladorBase{
public function __construct(){
parent::__construct();
}
public function index(){
$usuario = new Usuario();
$allUsers = $usuario->getAll();
$this->view("index", array(
"allUsers" => $allUsers,
"Hola" => "Ejemplo de MVC"
));
}
public function crear(){
if(isset($_POST['nombre'])){
$usuario = new Usuario();
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$password = sha1($_POST['password']);
$usuario->setNombre($nombre);
$usuario->setApellido($apellido);
$usuario->setEmail($email);
$usuario->setPassword($password);
$save = $usuario->save();
}
$this->redirect('Usuarios', 'index');
}
public function borrar(){
if(isset($_GET['id'])){
$id = (int)$_GET['id'];
$usuario = new Usuario();
$usuario->deleteById($id);
$this->redirect();
}
}
}
Users Code.php
class Usuario extends EntidadBase{
private $id;
private $nombre;
private $apellido;
private $email;
private $password;
public function __construct($table){
$table = "usuarios";
parent::__construct($table);
}
public function getId() {
return $this->id;
}
public function setId($id) {
$this->id = $id;
}
public function getNombre() {
return $this->nombre;
}
public function setNombre($nombre) {
$this->nombre = $nombre;
}
public function getApellido() {
return $this->apellido;
}
public function setApellido($apellido) {
$this->apellido = $apellido;
}
public function getEmail() {
return $this->email;
}
public function setEmail($email) {
$this->email = $email;
}
public function getPassword() {
return $this->password;
}
public function setPassword($password) {
$this->password = $password;
}
public function save(){
$query = "INSERT INTO usuarios(id, nombre, apellido, email, password)
VALUES (NULL,
'". $this->nombre ."',
'". $this->apellido ."',
'". $this->email ."',
'". $this->password ."')";
$save = $this->db()->query($query);
return $save;
}
}