Polar Code 🎭

Command Palette

Search for a command to run...

02
Pièce N°02

Module 2 : La Syntaxe du Désert

La pièce sentait le café froid et la sueur des nuits blanches. Sur l'écran cathodique, des caractères dansaient dans une lueur verdâtre. C'était là que ça commençait : la grammaire brute de PHP. Pas de place pour le style. Juste la précision du tueur à gages.

Syntaxe générale Un fichier .php. Du texte, du HTML, et soudain, la coupure. Chaque instruction se termine par un point-virgule. Comme une balle logée dans la chambre.

<?php
echo "Salut l'indic";
$nombre = 42;
?>

Balises PHP Le signal. <?php pour entrer dans l'ombre. ?> pour en sortir.

<!DOCTYPE html>
<html>
<body>
    <h1>En surface tout semble normal</h1>
    <?php
    // Sous la surface, le code travaille
    echo "<p>Message de l'ombre</p>";
    ?>
    <p>Fin de transmission</p>
</body>
</html>

Variables et constantes Les variables trahissent, les constantes sont des serments.

<?php
$message = "La nuit est longue";  // Ça peut changer
$message = "Trop longue";         // Trahison

define('CODE_SECRET', 1947);      // Serment
// CODE_SECRET = 2023;            // Impossible. Mort instantanée (erreur)
echo CODE_SECRET;                 // 1947, toujours
?>

Types de données L'identité de chaque valeur dans l'ombre.

<?php
$nom = "Marlowe";          // string
$age = 42;                 // int  
$temperature = 36.7;       // float
$enVie = true;             // bool
$armes = ["Colt .45", "Couteau", "Menaces"];  // array
$complice = null;          // null, le grand vide

var_dump($nom);            // string(7) "Marlowe"
?>

Opérateurs L'arsenal de base pour les calculs troubles.

<?php
// Arithmétiques
$butin = 5000;
$part = $butin / 4;        // 1250
$reste = $butin % 3;       // 2 (reste de la division)

// Comparaison
$suspectA = "Smith";
$suspectB = "Smith";
$memePersonne = ($suspectA == $suspectB);  // true

// Identité stricte
$chiffre = "42";
$nombre = 42;
$identique = ($chiffre === $nombre);       // false, type différent

// Logiques
$pleut = true;
$nuit = true;
$sortir = !$pleut || $nuit;  // true (soit il ne pleut pas, soit c'est la nuit)
?>

Structures de contrôle Les embranchements du destin.

<?php
$armeSurSoi = true;
$flicsAProximite = false;

if ($armeSurSoi && $flicsAProximite) {
    echo "Baisse la tête et cours";
} elseif ($armeSurSoi && !$flicsAProximite) {
    echo "Continue à marcher normalement";
} else {
    echo "Tu es propre, respire";
}

// Switch : choix multiples
$code = 3;

switch ($code) {
    case 1:
        echo "Rendez-vous au pont";
        break;
    case 2:
        echo "Abort mission";
        break;
    case 3:
        echo "La cible est éliminée";  // Celui-ci s'exécute
        break;
    default:
        echo "Code non reconnu";
}
?>

Boucles La répétition obsessionnelle.

<?php
// For : on sait combien de fois
echo "Compte à rebours pour l'explosion :<br>";
for ($i = 5; $i >= 1; $i--) {
    echo "$i...<br>";
}
echo "Boom.";

// While : tant que...
$whiskyDansLeVerre = true;
$gorgées = 0;

while ($whiskyDansLeVerre) {
    $gorgées++;
    echo "Gorgée $gorgées avalée.<br>";
    
    if ($gorgées >= 3) {
        $whiskyDansLeVerre = false;  // Verre vide
        echo "Plus rien que des glaçons.";
    }
}

// Foreach : fouiller chaque poche
$indices = ["bouton arraché", "trace de poudre", "billet marqué"];

foreach ($indices as $indice) {
    echo "Indice trouvé : $indice<br>";
}

// Forech avec clés (tableau associatif)
$suspects = [
    "Bruno" => "Porte un imperméable",
    "Léa" => "A menti sur son alibi",
    "Marcus" => "Gaucher, comme le tueur"
];

foreach ($suspects as $nom => $detail) {
    echo "$nom : $detail<br>";
}
?>

Je me suis renversé en arrière, la nuque contre le cuir usé. L'écran clignotait avec ces bouts de code. La syntaxe, c'est la façon de tenir son arme. Il fallait maintenant apprendre à viser.