Cual es la diferencia entre la clase Rol y la clase RolModel? No deberías tener dos. Es la misma clase. Todo el código para tratar con los roles debería ir en RolModel o Rol como lo quieras llamar pero solo una no dos.
En PHP para simular la sobrecarga como en java (método sobrecargado) hay que darle valores por defecto a los parámetros.
Código PHP:
public function __construct($id = 0; $nombre = '') {
// Codigo ...
}
En este caso te funcionará new Rol() o bien new Rol(22) o bien new Rol(22, 'Admin') - parecido a tener definidos tres constructores. Esto funciona para cualquier tipo de método no solo para __construct.
Que código tienes en la clase RolModel?