PHP est un langage interprété, ce qui signifie qu'il exécute directement le code que tu écris.
Les fichiers de code PHP sont des fichiers texte qui contiennent une balise d'ouverture PHP <?php pour marquer le début du code PHP.
Si le fichier ne contient que du code PHP, il est possible d'omettre la balise de fermeture ?>, qui marque la fin du code PHP.
Consulte la documentation sur la balise PHP pour en savoir plus sur la balise PHP.
<?php
// All PHP code goes here
// No closing tag required at the end
Pour faciliter la lecture, tous les exemples de code omettent la balise d'ouverture PHP <?php.
Mais elle est présente dans tous les exercices PHP, tu n'as donc pas besoin de l'ajouter toi-même.
Toutes les instructions, comme les affectations ou les appels de fonction, doivent se terminer par un ; pour séparer les instructions.
Omettre le ; (comme en JavaScript) n'est pas autorisé et provoque des erreurs de syntaxe.
Pour en savoir plus, consulte la séparation des instructions dans la documentation PHP.
$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]
PHP est un langage de programmation à typage dynamique.
Les types des valeurs ne sont vérifiés que pendant l'exécution du programme.
Avec l'opérateur d'affectation =, n'importe quel type de valeur peut être affecté à n'importe quel nom de variable.
Les noms de variables doivent commencer par un signe dollar $.
Pour approfondir les variables, consulte la documentation sur les variables PHP.
$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable
$count = false; // You may assign any value type
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Les valeurs littérales et les valeurs stockées dans des variables peuvent être passées à des fonctions. De nouvelles variables sont créées lors de la définition des arguments d'une fonction pour contenir les valeurs passées.
// Declare the window_width function
function window_width($width)
{
echo $width; // Access the value passed into the function as $width
// ...
}
window_width(100); // Call the function with the literal value 100
$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth
Les fonctions peuvent renvoyer des valeurs à l'aide du mot-clé return.
Les valeurs à renvoyer peuvent être des littéraux, des valeurs stockées dans des variables, ou le résultat d'une instruction.
function window_height()
{
$heightOffset = 10;
return 100 + $heightOffset;
}
Les fonctions définies dans les classes et dans leurs instances sont appelées des méthodes.
Pour appeler une méthode, son nom est précédé de l'instance et de ->.
Une instance de classe est créée par l'opération new.
Les méthodes ont accès à la variable spéciale $this, qui fait référence à l'instance courante.
<?php
// Calculator.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
On approfondira les fonctions et les classes dans les exercices suivants.
Comme forme simple de débogage, afficher les valeurs et le contenu des variables aide à comprendre ce qui se passe. PHP peut afficher des valeurs avec :
echo $variable; pour afficher une représentation de la valeur sous forme de string
print $variable;, qui est identique à echo $variable;
var_dump($variable); pour mieux cerner la valeur, par exemple le type que PHP voitAvec echo ou print : les strings vides, false et null ne s'affichent pas.
Et les classes et les instances les font échouer.
Utilise var_dump() pour les voir.
Dans l'éditeur en ligne, la sortie que tu produis est affichée avec les résultats des tests. Quand tu utilises la CLI, la sortie apparaît mélangée à l'indicateur de progression, avant le récapitulatif des tests.
Les fichiers sont les unités de base de l'organisation du code en PHP et dans beaucoup d'autres langages. Pour indiquer le nom du fichier à consulter dans un bloc de code, on utilise un commentaire. Tu n'as jamais besoin d'ajouter de tels commentaires dans tes fichiers :
<?php
// NameOfPhpFile.php
[...]
Du code, des fonctions et des classes peuvent tous être présents dans un même fichier. Mais en général, ce genre d'unités de code se trouve dans des fichiers séparés.
Il est courant d'avoir une classe par fichier, avec un nom de fichier qui correspond à la classe.
<?php
// Calculator.php
class Calculator {
// ...
function add($x, $y)
{
return $x + $y;
}
}
Les fonctions sont généralement regroupées dans des fichiers qui décrivent leur thème commun.
<?php
// window_handling.php
function window_paint()
{
// ...
}
function window_size($width, $height)
{
// ...
}
function window_move($x, $y)
{
// ...
}
Et il y a souvent des fichiers qui contiennent des instructions destinées à une exécution directe, comme un index.php que l'on utilise couramment comme point d'entrée d'une application web.
<?php
// index.php
$sum = add(1, 2);
// ...
Les noms de classes devraient tous être en PascalCase.
Selon le standard de style, les noms de variables, de fonctions et de méthodes peuvent être en camelCase ou en snake_case.
Les noms peuvent contenir des lettres a-zA-Z, des chiffres 0-9 et des tirets bas _, mais ils ne peuvent pas commencer par un chiffre.
Les commentaires sur une seule ligne commencent par //, et un bloc de texte peut être encadré par /* et */ pour devenir un commentaire multiligne.
// Single-line comment
/*
Multi-line comment
*/