Foros del Web » Programando para Internet » PHP »

Fatal error: Cannot redeclare class

Estas en el tema de Fatal error: Cannot redeclare class en el foro de PHP en Foros del Web. hello estoy haciedno algo asi como que me muestre los horarios el tiempo de trabajo de cada trabajador y en la aplicacion cuando pones el ...
  #1 (permalink)  
Antiguo 31/05/2007, 08:49
 
Fecha de Ingreso: diciembre-2006
Ubicación: Miami
Mensajes: 55
Antigüedad: 17 años, 4 meses
Puntos: 0
Mensaje Fatal error: Cannot redeclare class

hello estoy haciedno algo asi como que me muestre los horarios el tiempo de trabajo de cada trabajador y en la aplicacion cuando pones el nombre del trabajador me sle el tiempo en minutos pero copie una clase de php que esta muy buena y me dice lso dias trabajados en 2 fechas sin contar los holidays ni los sabados y domingos pero me da este error Fatal error: Cannot redeclare class aqui les pongo el source a ver que me pueden decir

Código PHP:
define("RelativePath"".");
  require(
RelativePath "/clsWorkDays.php");

    
$dates = new clsWorkDays;

    
$business_days $dates->days_diff('2007-05-24''2007-05-31');
    
$week_days     $dates->days_diff('2007-05-24''2007-05-31'TRUEFALSE);
    
$actual_days   $dates->days_diff('2007-05-24''2007-05-31'FALSEFALSE);

    echo 
'<table>'.
        
'<tr><td>Work Days </td><td>'.$business_days.'</td></tr>'.
        
'<tr><td>Week Days </td><td>'.$week_days.'</td></tr>'.
        
'<tr><td>Physical Days </td><td>'.$actual_days.'</td></tr>'.
        
'</table>'
y la clase que se carga es la siguiente

Código PHP:
class clsWorkDays {

    var 
$holidays = array();
    var 
$holiday_dates = array();
  var 
$seconds_per_day 86400;
  var 
$sunday_val      "0";
  var 
$saturday_val    "6";

    function 
clsWorkDays$p_type='UK' ) {

        if ( 
$p_type=='UK' ) {
        
            
$this->holidays[] = new Holiday("New Years Day"$this->get_timestamp("2005-01-03"));
            
$this->holidays[] = new Holiday("Good Friday"$this->get_timestamp("2005-03-25"));
            
$this->holidays[] = new Holiday("Easter Monday"$this->get_timestamp("2005-03-28"));
            
$this->holidays[] = new Holiday("May Day"$this->get_timestamp("2005-05-02"));
            
$this->holidays[] = new Holiday("Spring Bank Holiday"$this->get_timestamp("2005-05-30"));
            
$this->holidays[] = new Holiday("Summer Bank Holiday"$this->get_timestamp("2005-08-29"));
            
$this->holidays[] = new Holiday("Christmas Day"$this->get_timestamp("2005-12-25"));
            
$this->holidays[] = new Holiday("Boxing Day"$this->get_timestamp("2005-12-26"));
        
            
$this->holidays[] = new Holiday("New Years Day"$this->get_timestamp("2006-01-02"));
            
$this->holidays[] = new Holiday("Good Friday"$this->get_timestamp("2006-04-14"));
            
$this->holidays[] = new Holiday("Easter Monday"$this->get_timestamp("2006-04-17"));
            
$this->holidays[] = new Holiday("May Day"$this->get_timestamp("2006-05-01"));
            
$this->holidays[] = new Holiday("Spring Bank Holiday"$this->get_timestamp("2006-05-29"));
            
$this->holidays[] = new Holiday("Summer Bank Holiday"$this->get_timestamp("2006-08-28"));
            
$this->holidays[] = new Holiday("Christmas Day"$this->get_timestamp("2006-12-27"));
            
$this->holidays[] = new Holiday("Boxing Day"$this->get_timestamp("2006-12-27"));
        
            
$this->holidays[] = new Holiday("New Years Day"$this->get_timestamp("2007-01-01"));
            
$this->holidays[] = new Holiday("Good Friday"$this->get_timestamp("2007-04-06"));
            
$this->holidays[] = new Holiday("Easter Monday"$this->get_timestamp("2007-04-09"));
            
$this->holidays[] = new Holiday("May Day"$this->get_timestamp("2007-05-07"));
            
$this->holidays[] = new Holiday("Spring Bank Holiday"$this->get_timestamp("2007-05-28"));
            
$this->holidays[] = new Holiday("Summer Bank Holiday"$this->get_timestamp("2007-08-27"));
            
$this->holidays[] = new Holiday("Christmas Day"$this->get_timestamp("2007-12-25"));
            
$this->holidays[] = new Holiday("Boxing Day"$this->get_timestamp("2007-12-26"));

            
$this->holidays[] = new Holiday("New Years Day"$this->get_timestamp("2008-01-01"));
            
$this->holidays[] = new Holiday("Good Friday"$this->get_timestamp("2008-03-21"));
            
$this->holidays[] = new Holiday("Easter Monday"$this->get_timestamp("2008-03-24"));
            
$this->holidays[] = new Holiday("May Day"$this->get_timestamp("2008-05-05"));
            
$this->holidays[] = new Holiday("Spring Bank Holiday"$this->get_timestamp("2008-05-26"));
            
$this->holidays[] = new Holiday("Summer Bank Holiday"$this->get_timestamp("2008-08-25"));
            
$this->holidays[] = new Holiday("Christmas Day"$this->get_timestamp("2008-12-25"));
            
$this->holidays[] = new Holiday("Boxing Day"$this->get_timestamp("2008-12-26"));        
        
            
$this->holidays[] = new Holiday("New Years Day"$this->get_timestamp("2009-01-01"));
            
$this->holidays[] = new Holiday("Good Friday"$this->get_timestamp("2009-04-10"));
            
$this->holidays[] = new Holiday("Easter Monday"$this->get_timestamp("2009-04-13"));
            
$this->holidays[] = new Holiday("May Day"$this->get_timestamp("2009-05-04"));
            
$this->holidays[] = new Holiday("Spring Bank Holiday"$this->get_timestamp("2009-05-25"));
            
$this->holidays[] = new Holiday("Summer Bank Holiday"$this->get_timestamp("2009-08-31"));
            
$this->holidays[] = new Holiday("Christmas Day"$this->get_timestamp("2009-12-25"));
            
$this->holidays[] = new Holiday("Boxing Day"$this->get_timestamp("2009-12-28"));

        }

        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2005-12-26"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2005-12-27"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2005-12-28"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2005-12-29"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2005-12-30"));

        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2006-12-25"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2006-12-26"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2006-12-27"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2006-12-28"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2006-12-29"));

        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2007-12-24"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2007-12-25"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2007-12-26"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2007-12-27"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2007-12-28"));

        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2008-12-29"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2008-12-30"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2008-12-31"));

        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2009-12-28"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2009-12-29"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2009-12-30"));
        
$this->holidays[] = new Holiday("Christmas ShutDown"$this->get_timestamp("2009-12-31"));



        
//go fill array to enable fast searches
        
foreach ( $this->holidays as $holiday_date ) {
            
$this->holiday_dates[] = $holiday_date->date;
        }

    }

    function 
days_diff($p_start_date$p_end_date NULL$p_workdays_only TRUE$p_skip_holidays TRUE){

    
        
$end_date        $p_end_date;
        if ( 
strlen($p_end_date)==$end_date $p_start_date;
    
        
$end_date        strtotime($end_date);
        
$start_date      strtotime($p_start_date);
        
$nbr_work_days   0;

        for(
$day_val $start_date$day_val <= $end_date$day_val += $this->seconds_per_day){
            
$pointer_day date("w"$day_val);
            if(
$p_workdays_only == true){
                if((
$pointer_day != $this->sunday_val) AND ($pointer_day != $this->saturday_val)){
                    if(
$p_skip_holidays == true){
                        if(!
in_array($day_val$this->holiday_dates)){
                            
$nbr_work_days++;
                        }
                    }else{
                        
$nbr_work_days++;
                    }
                }
            }else{
                if(
$p_skip_holidays == true){
                    if(!
in_array($day_val$this->holiday_dates)){
                        
$nbr_work_days++;
                    }
                }else{
                    
$nbr_work_days++;
                }
            }
        }
        return 
$nbr_work_days;
    }


    function 
get_timestamp($p_date){

    
        
$date_array explode("-",$p_date); // split the array
    
        
$the_year $date_array[0];
        
$the_month $date_array[1];
        
$the_day $date_array[2];
    
        
$the_timestamp mktime(0,0,0,$the_month,$the_day,$the_year);
        return(
$the_timestamp); // return it to the user
    
}

}



class 
Holiday{

    public 
$name;
    public 
$date;


    function 
holiday($name$date){
        
$this->name   $name;   // Holiday title
        
$this->date   $date;   // Timestamp of date
    
}

si lo pongo en un archivo separado funciona sin problemas solo cuando lo pongo en lo de los horarios me da error please heeeeeeeeeeeelp
  #2 (permalink)  
Antiguo 31/05/2007, 10:01
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
Re: Fatal error: Cannot redeclare class

Podrias poner el error exacto que te marca?
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 09:56.