FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 janv. 2007 à 14:50
Et vouala :)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 16 janv. 2007 à 20:32
parce que je me suis planté :p
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 16 janv. 2007 à 20:09
Salut,
Et pour ta methode __toString pourquoi mettre un echo dedans puisque de toute façon cette methode est implicitement appelée et uniquement avec echo ou print
d'ailleurs si tu fais print($objDate) ça risque d'être bizarre, enfin je crois.
J'aurais plutot fait un return. Mais bien quand même.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 16 janv. 2007 à 14:07
Ouais de même, peut-être "génériser" les appels de Set () pour la définir en tant que méthode abstraite dans aDateTime ?
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 16 janv. 2007 à 13:45
>> iow4
En examinant la classe DateTime de PHP, tu remarqueras qu'elle est encore incomplète.
En effet, tu ne peux passer qu'un string pour une date, de la forme jjmmyyyy que tu peux ensuite parser via DateTime::format($format) qui va en faite éxécuter la fonction date() de php.
De plus, aucune propriété n'est défini dans cette classe et je me demande donc bien comment on peut faire pour pouvoir l'exploiter correctement. Car même en supposant que tu veuilles l'hériter, tu ne peux rien récupérer.
Voila pourquoi j'avais fait cette classe.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 16 janv. 2007 à 13:40
Oh oui exact :)
En réalité, il faut que je la mette en abstraite et que je la définisse correctement dans mes classes filles.
Vais m'en occuper dans la journée (chui tombé malade...)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 16 janv. 2007 à 12:41
Hello,
petites erreurs : tu as confondu l'index datetime et l'index date, dans ta propriété cache.
Et il faut que tu modifies la méthode ToLocalFormat () comme ça par exemple :
public function ToLocalFormat($format = null) {
if (is_null ($format)) {
switch (get_class ($this)) {
case 'oDate':
$format = '%d %B %Y';
break;
case 'oTime':
$format ='%H %M %S';
break;
default:
throw new Exception ('...');
}
}
if ( !isset($this->cache['date'][$format]) ) {
$this->cache['date'][$format] = strftime($format, $this->value);
}
return $this->cache['date'][$format];
}
Sinon ça ne fonctionne pas.
A part ça c'est sympa, très simple, et ça mériterait d'être approfondi à mon avis!
iow4
Messages postés302Date d'inscriptionsamedi 22 octobre 2005StatutMembreDernière intervention 2 novembre 20084 15 janv. 2007 à 22:27
17 janv. 2007 à 14:50
16 janv. 2007 à 20:32
16 janv. 2007 à 20:09
Et pour ta methode __toString pourquoi mettre un echo dedans puisque de toute façon cette methode est implicitement appelée et uniquement avec echo ou print
d'ailleurs si tu fais print($objDate) ça risque d'être bizarre, enfin je crois.
J'aurais plutot fait un return. Mais bien quand même.
16 janv. 2007 à 14:07
16 janv. 2007 à 13:45
En examinant la classe DateTime de PHP, tu remarqueras qu'elle est encore incomplète.
En effet, tu ne peux passer qu'un string pour une date, de la forme jjmmyyyy que tu peux ensuite parser via DateTime::format($format) qui va en faite éxécuter la fonction date() de php.
De plus, aucune propriété n'est défini dans cette classe et je me demande donc bien comment on peut faire pour pouvoir l'exploiter correctement. Car même en supposant que tu veuilles l'hériter, tu ne peux rien récupérer.
Voila pourquoi j'avais fait cette classe.
16 janv. 2007 à 13:40
En réalité, il faut que je la mette en abstraite et que je la définisse correctement dans mes classes filles.
Vais m'en occuper dans la journée (chui tombé malade...)
16 janv. 2007 à 12:41
petites erreurs : tu as confondu l'index datetime et l'index date, dans ta propriété cache.
Et il faut que tu modifies la méthode ToLocalFormat () comme ça par exemple :
public function ToLocalFormat($format = null) {
if (is_null ($format)) {
switch (get_class ($this)) {
case 'oDate':
$format = '%d %B %Y';
break;
case 'oTime':
$format ='%H %M %S';
break;
default:
throw new Exception ('...');
}
}
if ( !isset($this->cache['date'][$format]) ) {
$this->cache['date'][$format] = strftime($format, $this->value);
}
return $this->cache['date'][$format];
}
Sinon ça ne fonctionne pas.
A part ça c'est sympa, très simple, et ça mériterait d'être approfondi à mon avis!
15 janv. 2007 à 22:27