Hola,
No se, hay algo que no me "huele" bien. Uhmm, ya se. Esa clase no es OOP, es codigo prodecural metido en un class. ¿Por que no digo? La primera pista: a todas las funciones le pasas el valor timestamp. Por lo que veo, llamarias a la clase algo como:
Código PHP:
$f=new fecha();
echo $f->dia(time());
Si en lugar de una clase, lo hubiese dejado como una libreria (quitas el codigo de class y el constructor), eso mismo seria
Código PHP:
echo dia(time());
Yo creo que primero tienes que definir el interfaz de la clase, su forma de uso. Podrias tener una clase que se usase
Código PHP:
$f=new fecha(time());
echo $f->dia();
echo $f->ano('largo');
echo $f->formatear('d/m/Y');
$f2=new fecha('30/12/04');
$dias=$f->restar($f2);
echo $dias.' de difencia entre ".$f->formatear('dmy').' y '.$f2->formatear('dmy);
Creo que es mas natural que estar pasando a cada funcion el timestamp.
Creo que lo primero es definir el interfaz, y luego implementarlo.
saludos.