Foros del Web » Programando para Internet » PHP » Zend »

Error en Zendunknown: Argument 1 passed to Map_DeleteProcedimiento::__construct()

Estas en el tema de Error en Zendunknown: Argument 1 passed to Map_DeleteProcedimiento::__construct() en el foro de Zend en Foros del Web. Me sale este error resumido. Unknown: Argument 1 passed to Map_DeleteProcedimiento::__construct() must be an instance of Map_Emails_Procedimientos, array given, called in EmailController.php on /DeleteProcedimiento.php on ...
  #1 (permalink)  
Antiguo 07/07/2010, 09:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Error en Zendunknown: Argument 1 passed to Map_DeleteProcedimiento::__construct()

Me sale este error resumido.
Unknown: Argument 1 passed to Map_DeleteProcedimiento::__construct() must be an instance of Map_Emails_Procedimientos, array given, called in EmailController.php on /DeleteProcedimiento.php on line 12

con un var_dump en Map_DeleteProcedimiento los datos son;
Array ( [table_name] => emails [field_name] => listado_correo [value] => [email protected] )
y no se que puede estar fallando.

En el controllor tengo esto.
Código PHP:
      $data = array( 
      
'table_name'=>'emails',
        
'field_name'=>'listado_correo',
        
'value' => '[email protected]');

    
$delete = new Map_DeleteProcedimiento($data); 
en la clase .library/map/DeleteProcedimiento
Código PHP:
class Map_DeleteProcedimiento extends Map_Emails_Procedimientos
{
   protected 
$_valor;
   protected 
$_campo;
   protected 
$_db;
   protected 
$_data = array();
   public function  
__construct(Map_Emails_Procedimientos $data) {

       
print_r($data);
        
/*$this->_data['table'] = $data['table'];
        $this->_data['field'] = $data['field'];
        $this->_data['value'] = $data['value'];
        $this->_db = Zend_Registry::get('db');*/
   
}
   
  public function 
deleteEmails_Procedimientos($data){
       
    
$where $this->_db->quoteInto("$data->field = ?",$data->value);
    return 
$this->_db->delete($data->table_name$where);


   } 
en library/map/emails/Procedimientos.php.
Código PHP:
class Map_Emails_Procedimientos
{
  protected 
$data = array(
      
'table_name'=>'',
      
'field_name'=>'',
      
'value'=>'',
      );


muchas gracias
  #2 (permalink)  
Antiguo 07/07/2010, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error en Zendunknown: Argument 1 passed to Map_DeleteProcedimiento::__cons

Pues no es Zend el problema, si no lo que estas haciendo, estas pasando un array a tu función cuando claramente esta función necesita un objeto, necesitas instanciar un objeto y pasaro a tu función antes.

Saludos.
  #3 (permalink)  
Antiguo 07/07/2010, 10:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Error en Zendunknown: Argument 1 passed to Map_DeleteProcedimiento::__cons

Pues muchas graciaso tenias razon , no me di cuenta de que era un objeto y no en un array , en cuanto declaro array ya pense que era un array y no me di cuenta que era un objeto de tipo array...Un saludo y gracias

Etiquetas: argumentos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:25.