Hola x_atrix, hice lo que me dijiste y funcionó a la perfección, te pongo el repositorio de github:
https://github.com/detectivejd/amnesia_php_mvc
Por otro lado, me quedé curioso porque para que la clase se pueda persistir a si mismo tenía que instanciarla según su modelo correspondiente y no me dejaba instanciarla en el constructor:
Código PHP:
Ver original<?php
namespace Clases;
use \App\IPersiste;
use \Model\RolModel;
class Rol implements IPersiste
{
private $id;
private $nombre;
private $modelo;
function getId() {
return $this->id;
}
function getNombre() {
return $this->nombre;
}
function setNombre($nombre) {
}
function __construct($xid = 0, $xnombre = null) {
$this->id = $xid;
}
public function equals(Rol $obj) {
return $this->nombre == $obj->nombre;
}
public function save(){
$this->modelo = new RolModel();
return ($this->id == 0) ? $this->modelo->create($this) : $this->modelo->update($this);
}
public function del(){
$this->modelo = new RolModel();
return $this->modelo->delete($this);
}
public function find($criterio = null){
$this->modelo = new RolModel();
return $this->modelo->find();
}
public function findById($id){
$this->modelo = new RolModel();
return $this->modelo->findById($id);
}
}
Lo otro que no pude hacer bien es que al chequear la fecha de vencimiento del pago no me hace bien la condición, es decir muestra el mensaje con y sin cumplir la condición, en el repositorio esta en:
Clases/Compra.php ->función checkFecVenc()
Clases/Pago.php
Controller/PagosController.php -> función index()
Porque lo demás ante bien de bien, gracias a tu ayuda.
Espero tus respuestas y saludos