? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

Don_Ehrenmann's Blog

Lisez-moi me plaindre, parce que ma vie est au moins aussi chiante que la vôtre.

@donehrenmann

Follow in NewsfeedFollowing

Latest comments:

Add new post

Title

21 hours ago · 2 min read ·
3 comments
Body
Read more

Invoquons Satan en PHP

on Aug 10, 2017

Je crois qu'il y a de la magie noire dans mon code...

J'ai une liste de 3 RTT que je récupère de la BDD, j'ai vérifié et tout est récupéré correctement.
J'utilise ces RTT dans une fonction, plus spécifiquement dans des if, mais sans les modifier, juste en vérification par rapport à des dates.

Et là sans aucune raison, dans la même fonction mais après ces if, la date du dernier RTT de cette liste passe du 11/08/17 au 20/08/17. Soit je deviens fou, soit je me tape une anomalie impossible à prévoir dans ma version php ou je sais pas quoi :/

var_dump($RTT_pris); // -------------------------------------------------------------------------------------
// Algo that allows to separate in two arrays the conges w/ rtt and those w/o
foreach ($conges as $conge) {
    $count = 0;
    foreach ($RTT_pris as $rtt) {
        if ($rtt->getPrttDateDebutPose()<$conge->getCngDateDebut() || $poseRTTService->getDateLastDay($rtt)>$conge->getCngDateFin()) {
            $count++;
        }
    }
    if ($count == count($RTT_pris) && !in_array($conge, $conges_final)) {
        array_push($conges_final, $conge);
    } else {
        array_push($conges_w_rtt, $conge);
    }
}

// Stores the half days of a conge containing a RTT
foreach ($conges_w_rtt as $cng) {
    array_push($conges_part, $this->getCongeService()->getCongeByDemiJoursNoReverse($cng));
} // Stores the RTT as half days for checking in the next algo, and putting all of those RTT in the final array to display
var_dump($RTT_pris); // ---------------------------------------------------------------------------------------

A quel moment la valeur de la date du dernier conge de la liste peut changer entre ces deux affichages ? Putain ! Si ça se trouve c'est tout con sauf que comme je suis sur ce projet depuis plusieurs mois je n'arrive pas à sortir les incohérences. J'en ai marre de ces congés bordel.

Ah et sinon j'ai eu une proposition d'embauche à 27000 brut aujourd'hui. Les 3 entreprises dans lesquelles j'ai postulé ont répondu positivement pour m'membaucher, il me manque plus que les modalités de contrat de la dernière et je pourrais faire un choix.

EDIT :
Ok je sais d'où ça vient mais je sais pas pourquoi ça fait ça.
J'appelle une fonction pour avoir la date du dernier jour de RTT d'un RTT précis (puisque la date de fin n'est pas stockée dans la base) et cette même fonction en appelle une autre pour séparer les RTT en demi journées.
Et donc je me demande comment la valeur de la date du dernier RTT d'une liste peut être modifiée alors que c'est fait dans une fonction extérieure et que sa valeur n'est pas censée remonter pour être altérée dans la donnée passée.
Sérieux ça me rend fou j'ai envie de me casser.

0 Comment:

user_name1 day ago
Reply
Body
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More