Informations diverses

PHP : Personal Home Page Tools (“PHP Hypertext Preprocessor”, accronyme récursif, à partir de PHP 3.0)

1. Versions supportées de PHP (EOL)

http://php.net/supported-versions.php On y voit les versions mortes (plus développées) ainsi que la date de fin de support (pour les versions encore supportées mais plus développées)

2. Statistiques d’utilisation de PHP

Usage statistics and market share of PHP for websites

Février 2017 : encore près de 96% des sites sous PHP tournent avec PHP 5.x alors que cette version est morte en janvier 2017.

3. PHP 7.x

L’opérateur Null Coalesce : prend la valeur de gauche ; ou celle de droite si celle de gauche était fausse. Cela évite de répéter le $_GET['user']

$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
$username = $_GET['user'] ?? 'nobody';

Définition des types pour les paramètres ainsi que le type de retour.
Une erreur à l’exécution est générée lorsqu’on tente p.ex. d’envoyer une chaîne de caractères là où un entier est attendu.

function add(int $a, int $b) : int {
    return $a + $b;
}

Typage strict : '20' n’est pas un chiffre mais une chaîne de caractères. strict_types=1 va donc amener à une erreur fatale.

declare(strict_types=1);

function add(int $a, int $b) {
    return $a + $b;
}

add(10, '20');

En PHP 7.1, il y a la possibilité de définir un type de paramètre iterable

function fonc01(iterable $data) {
    foreach ($data as $key => $val) {
        // ...
    }
}                       

fonc01( [10, 20, 30] );
fonc01( new SplFixedArray(5) );
fonc01( mon_generateur() );

Un effort est réalisé afin de réduire le nombre d’erreurs fatales (qui provoquent une page blanche et qui ne sont pas “catchables”) afin d’en faire des erreurs que l’on peut gérer au travers d’un try ... catch.

4. AFUP

http://afup.org/pages/site/

L’AFUP est l’Association Française des Utilisateurs de PHP. L’AFUP a vocation d’information et fournira les éléments clefs qui permettront de choisir PHP

5. Ressources