Bonjour,
Je souhaite à l'aide d'une fonction créer dans mon AppController afficher par exemple le nombre de jours depuis l'inscription, jusque là tout va bien sauf que je souhaite compliquer un peu la fonction en lui envoyant en paramètre, l'élément auquel débuter l'execution
<?php
$this->afficher_date(AuthComponent::user('created'), time(), 'mois');
?>
Retournerais inscrit depuis x mois.
** fonction vide étant donné que je n'ai pas mis le traitement pour l'instant.
<?php
public function afficher_date($time1, $time2, $start = null) {
App::uses('CakeTime', 'Utility');
$time1 = CakeTime::fromString($time1);
$time2 = CakeTime::fromString($time2);
//$this->Session->write('Auth.User.created', '2016-09-24 14:45:00');
$secondes = floor(($time2 - $time1) / 1);
$minutes = floor(($time2 - $time1) / 60);
$heures = floor(($time2 - $time1) / 3600);
$jours = floor(($time2 - $time1) / 86400);
$mois = round(($time2 - $time1) / 2592000);
$annees = floor(($time2 - $time1) / 31104000);
/**
* Si start = null on affiche tout
* Sinon si start existe, on démare à l'élément cibler
*/
}
?>
J'aimerais quelques chose qui m'évite de faire ce genre de code
if($start == "secondes") {
// tout le traitement
} elseif($start == "minutes") {
// tout sauf les secondes
} elseif($start == "jours") {
// tout sauf les secondes,minutes,heures
}
Une idée de comment je pourrais proceder ? 1 fonction par élément peut être ?
Merci !
Utilise l'objet Chronos de CakePHP, pas sûr qu'il soit natif sur CakePHP2, par contre.
http://book.cakephp.org/3.0/fr/chronos.html#generer-des-differences
Merci pour le lien, apparament la fonction n'existe pas sous CakePHP 2, du coup je vais surement passer directement sur CakePHP 3
Tu peux tout simplement utiliser la bibliothèque sous CakePHP 2 aussi, utilise composer et charge l'autoload