Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
perso:quentin:php

This is an old revision of the document!


Php en ligne de commande

$identifiant = $_GET['utilisateur'] ?? 'aucun';

$identifiant = $_GET['utilisateur'] ?? $_POST['utilisateur'] ?? 'aucun';

Syntaxe heredoc

echo <<<EOT
<strong>Mon nom est "$name". J'affiche quelques $foo->foo.</strong>
Maintenant, j'affiche quelques {$foo->bar[1]}.
Et ceci devrait afficher un 'A' majuscule : \x41
EOT;

opérateur Spaceship

<?php
// Entiers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Nombres à virgule flottante
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// Chaînes de caractères
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

Classes anonymes

<?php
interface Logger {
    public function log(string $msg);
}

class Application {
    private $logger;

    public function getLogger(): Logger {
         return $this->logger;
    }

    public function setLogger(Logger $logger) {
         $this->logger = $logger;
    }
}

$app = new Application;
$app->setLogger(new class implements Logger {
    public function log(string $msg) {
        echo $msg;
    }
});

var_dump($app->getLogger());
perso/quentin/php.1569860433.txt.gz · Last modified: (external edit)