Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/03/2010, 09:01
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Constructor en la clase IndexController

Es un problema más generico de POO, que nada, si tu implementas una interface, es OBLIGATORIO que los métodos que expone la interfaz los uses tal cual, esa es la razón de las interfaces, es un contrato.

Mira el siguiente ejemplo:
Código PHP:
Ver original
  1. interface Encendible
  2. {
  3.         public function enciende($objeto);
  4. }
  5.  
  6. class Cerillo implements Encendible
  7. {
  8.        public function enciende($objeto)
  9.        {
  10.                 $objeto->enciende();
  11.        }
  12. }
  13.  
  14. class Foco implements Encendible
  15. {
  16.        public function enciende() // Fatal error Declaration of Foco::enciende() must be compatible with that of Encendible::enciende()
  17.        {
  18.                echo "prendi";
  19.        }
  20. }

Para remediar tu problema, al declarar el constructor, este tiene que aceptar los mismos argumentos y en el mismo orden que el constructor de la interfaz.

Saludos.