[PHP5] CLASSE DATE/HEURE

iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 - 15 janv. 2007 à 22:27
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 17 janv. 2007 à 14:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41125-php5-classe-date-heure

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 janv. 2007 à 14:50
Et vouala :)
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
16 janv. 2007 à 20:32
parce que je me suis planté :p
guill76 Messages postés 193 Date d'inscription mercredi 24 août 2005 Statut Membre Derniè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és 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
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és 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
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és 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
15 janv. 2007 à 22:27
Comment ça rien faire ?
Rejoignez-nous