Foros del Web » Programando para Internet » PHP »

Problema con redeclaracion de funciones

Estas en el tema de Problema con redeclaracion de funciones en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente problema. Para conectarme al Web services de dos proveedores distintos utilizo nusoap, el problema es que uno utiliza la ...
  #1 (permalink)  
Antiguo 17/09/2009, 07:11
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema con redeclaracion de funciones

Hola a todos.
Tengo el siguiente problema.
Para conectarme al Web services de dos proveedores distintos utilizo nusoap,
el problema es que uno utiliza la libreria nusoap original y el otro una version modificada por ellos.
Yo lo que hago es llamar a una función pasandole el proveedor, primero uno y luego el otro, y con switch case incluyo una libreria u otra.

Código PHP:
switch($proveedor)
      {
         case 
"1":
            
// requeridos para 1
            
include_once('../nusoap/lib/nusoap.php');
            
//resto del código
        
break;
        case 
"2":
            
// requeridos para 2
            
include_once('../nusoap/lib/nusoap2.php');
           
//resto del código
        
break;


Pero me da el siguiente error:

Fatal error: Cannot redeclare class soap_fault in /var/www/vhosts/xxxxxxxxxxxxxxxx/httpdocs/nusoap/lib/nusoap2.php on line 989


Alguien puede echarme una mano a resolver esto.
  #2 (permalink)  
Antiguo 17/09/2009, 08:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con redeclaracion de funciones

Si lo haces desde un foreach() o una funcion que se ejecute mas de una vez siempre te va a dar ese error, necesitas hacer archivos separados en este caso para ejecutarlos por aparte.

Saludos.
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 22:53.