Utiliser une fonction PHP à l'intérieur d'une clas
chabinot
Messages postés
391
Statut
Membre
-
chabinot Messages postés 391 Statut Membre -
chabinot Messages postés 391 Statut Membre -
Bonjour,
J'ai créé une classe PHP dans laquelle j'ai une fonction qui fait appel à une fonction PHP (array_multisort).
Quand je lance l'application, il semble avoir un problème au moment d'appel de cette fonction.
Je mets le source de la classe :
Le nombre de post de $array1 et de $array2 est exactement le même.
Merci de votre aide
Cordialement
J'ai créé une classe PHP dans laquelle j'ai une fonction qui fait appel à une fonction PHP (array_multisort).
Quand je lance l'application, il semble avoir un problème au moment d'appel de cette fonction.
Je mets le source de la classe :
<?php
class Month extends Date
{
public $year;
public $month;
public $holidays = [];
public $feries = [];
public $catho = [];
public function __construct(?int $year = null)
{
if ($year === null) {
$year = intval(date('Y'));
}
$this->year = $year;
}
public function getHolidays() : array
{
$array = [
"Jour de l'an",
"Lundi de pâques",
"Lundi de pentecôte",
"Ascension",
"Fête du travail",
"Victoire des alliés",
"Fête nationale",
"Assomption",
"Toussaint",
"Armistice 1918",
"Noël",
];
return $array;
}
public function getFeries() : array
{
$this->feries[] = $this->year . '0101'; // Jour de l'an
$this->feries[] = $this->lundiPaques($this->year); // Lundi de pâques
$this->feries[] = $this->lundiPentecote($this->year); // Lundi de pentecôte
$this->feries[] = $this->ascension($this->year); // Ascension
$this->feries[] = $this->year . '0501'; // Fête du travail
$this->feries[] = $this->year . '0508'; // Victoire des alliés
$this->feries[] = $this->year . '0714'; // Fête nationale
$this->feries[] = $this->year . '0815'; // Assomption
$this->feries[] = $this->year . '1101'; // Toussaint
$this->feries[] = $this->year . '1111'; // Armistice 1918
$this->feries[] = $this->year . '1225'; // Noël
return $this->feries;
}
public function displayFeries()
{
$array1 = $this->getHolidays();
$array2 = $this->getFeries();
array_multisort($array2, $array1);
$count = count($array1);
// Formattage de l'affichage
for ($i = 0; $i < $count; $i ++) {
$result = '<div class="feries__libday">';
$result .= '<div class="feries__libday-day">';
$result .= $array1[$i];
$result .= '</div><!-- /.feries__libday-day -->';
$result .= '<div class="feries__libday-jour">';
$result .= $this->rtvWeekDay($array2[$i]);
$result .= '</div><!-- /.feries__libday-jour -->';
$result .= '<div class="feries__libday-numday">';
$result .= $this->rtvDay($array2[$i]);
$result .= '</div><!-- /.feries__libday-numday -->';
$result .= '<div class="feries__libday-month">';
$result .= $this->rtvMonth($array2[$i]);
$result .= '</div><!-- /.feries__libday-month -->';
$result .= '</div><!-- /.feries__libday -->';
echo $result;
}
}
Le nombre de post de $array1 et de $array2 est exactement le même.
Merci de votre aide
Cordialement
1 réponse
-
Le sujet est résolu, voilà la solution
<?php class Month extends Date { public $year; public $month; public $holidays = []; public $feries = []; public $cathol = []; public $catho = []; public function __construct(?int $year = null) { if ($year === null) { $year = intval(date('Y')); } $this->year = $year; } public function getHolidays() : array { $holidays = [ "Jour de l'an", "Lundi de pâques", "Lundi de pentecôte", "Ascension", "Fête du travail", "Victoire des alliés", "Fête nationale", "Assomption", "Toussaint", "Armistice 1918", "Noël", ]; $this->holidays = $holidays; return $this->holidays; } public function getFeries() : array { $feries[] = $this->year . '0101'; // Jour de l'an $feries[] = $this->lundiPaques($this->year); // Lundi de pâques $feries[] = $this->lundiPentecote($this->year); // Lundi de pentecôte $feries[] = $this->ascension($this->year); // Ascension $feries[] = $this->year . '0501'; // Fête du travail $feries[] = $this->year . '0508'; // Victoire des alliés $feries[] = $this->year . '0714'; // Fête nationale $feries[] = $this->year . '0815'; // Assomption $feries[] = $this->year . '1101'; // Toussaint $feries[] = $this->year . '1111'; // Armistice 1918 $feries[] = $this->year . '1225'; // Noël $this->feries = $feries; return $this->feries; } public function dspFeries() { $array1 = $this->getHolidays(); $array2 = $this->getFeries(); $count = count($array1); array_multisort($array2, $array1); // Formattage de l'affichage for ($i = 0; $i < $count; $i ++) { $result = '<div class="feries__libday">'; $result .= '<div class="feries__libday-day">'; $result .= $array1[$i]; $result .= '</div><!-- /.feries__libday-day -->'; $result .= '<div class="feries__libday-jour">'; $result .= $this->rtvWeekDay($array2[$i]); $result .= '</div><!-- /.feries__libday-jour -->'; $result .= '<div class="feries__libday-numday">'; $result .= $this->rtvDay($array2[$i]); $result .= '</div><!-- /.feries__libday-numday -->'; $result .= '<div class="feries__libday-month">'; $result .= $this->rtvMonth($array2[$i]); $result .= '</div><!-- /.feries__libday-month -->'; $result .= '</div><!-- /.feries__libday -->'; echo $result; } }
Cordialement