Créer des événements récurrents en PHP
Je ne publierai plus rien sur ce blog. Un nouveau blog existe maintenant. Il se nomme Hardly Smart.
Vous pourrez y retrouver des astuces plus larges sur l'informatique ainsi que mes anciens billets de blog.
Je vous souhaite une bonne lecture sur Hardly Smart.
Aujourd'hui je viens d'être confronté à un problème, comment créer des événements récurrents en PHP mais avec la version 5.2 de PHP ?
Ce problème ne se serai jamais posé si j'avais eu un serveur sous PHP 5.3 ou plus. Et oui car avec l'arrivée de la version 5.3, une nouvelle classe a fait son apparition : DatePeriod()
Cette classe permet justement comme son nom l'indique de créer des périodes avec des dates. Elle n'utilise qu'un contructeur qui s'utilise comme ceci :
public __construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] ) public __construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] ) public __construct ( string $isostr [, int $options ] )
Je vais utiliser la mathode 2, qui est la plus appropriée pour mon cas. J'ai besoin de créer des évévenements toutes les semaines à partir d'aujourd'hui et sur 2 mois. Je vous laisse regarder le son code source.
Source
PHP 5.2 :
// Première date $begin = new DateTime('2014-03-27'); // Date de fin $end = new DateTime('2014-05-27'); while($begin < $end) { $period[] = $begin->format('d/m/Y'); $begin->modify('+1 week'); } foreach($period as $p){ echo $p . "
"; }
PHP 5.3 :
// Première date $begin = new DateTime('2014-03-27'); // Date de fin $end = new DateTime('2014-05-27'); // Récurence // Plus 1 semaine $interval = new DateInterval('P1W'); $daterange = new DatePeriod($begin, $interval ,$end); foreach($daterange as $date){ echo $date->format("d/m/Y") . "
"; }
Articles liés
Les commentaires ont été désactivés.