Pour plus d'informations sur ces sujets, consulte la page du concept.
La balise d'ouverture PHP <?php marque le début du code PHP.
Toutes les instructions doivent se terminer par un ; pour les séparer.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Pour faciliter la lecture, tous les exemples de code omettent la balise d'ouverture PHP <?php.
Les commentaires sur une seule ligne commencent par //.
// Single line comment
À l'aide de l'opérateur d'affectation =, une valeur peut être affectée à une variable.
Les noms de variables doivent commencer par un signe dollar $ et suivre les conventions de nommage.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Des valeurs et des variables peuvent être passées à des fonctions.
Les arguments d'une fonction deviennent de nouvelles variables qui contiennent les valeurs transmises.
Les fonctions peuvent renvoyer n'importe quelle valeur à l'aide du mot-clé return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
Les fonctions définies à l'intérieur de classes et de leurs instances sont appelées méthodes.
Pour appeler une méthode, on fait précéder son nom de l'instance et de ->.
Les méthodes ont accès à la variable spéciale $this, qui fait référence à l'instance courante.
<?php
class Calculator {
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
Dans cet exercice, tu vas écrire du code pour t'aider à cuisiner une excellente lasagne, tirée de ton livre de cuisine préféré.
Tu as cinq tâches, toutes liées au temps passé à cuisiner la lasagne.
Implémente la fonction expectedCookTime de la classe Lasagna, qui ne prend aucun argument et renvoie le nombre de minutes pendant lesquelles la lasagne doit rester au four.
D'après le livre de cuisine, le temps de cuisson au four attendu est de 40 minutes :
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Implémente la fonction remainingCookTime de la classe Lasagna, qui prend en argument le nombre de minutes que la lasagne a déjà passées au four et renvoie combien de minutes la lasagne doit encore rester au four, en se basant sur le temps de cuisson au four attendu de la tâche précédente.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Implémente la fonction totalPreparationTime de la classe Lasagna, qui prend en argument le nombre de couches que tu as ajoutées à la lasagne et renvoie combien de minutes tu as passées à préparer la lasagne, en supposant que chaque couche te prend 2 minutes à préparer.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Implémente la fonction totalElapsedTime de la classe Lasagna, qui prend deux arguments : le premier argument est le nombre de couches que tu as ajoutées à la lasagne, et le second est le nombre de minutes que la lasagne a passées au four.
La fonction doit renvoyer le nombre total de minutes que tu as passées à cuisiner la lasagne, c'est-à-dire la somme du temps de préparation en minutes et du temps que la lasagne a passé au four à cet instant.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Implémente la fonction alarm de la classe Lasagna, qui ne prend aucun argument et renvoie un message indiquant que la lasagne est prête à être mangée.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Inscris-toi sur Exercism pour apprendre et maîtriser PHP avec 11 concepts122 exercices, et un vrai mentorat humain, le tout gratuitement.