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
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
- PHP 7 Compatibility Checker (php7cc)
- Phan is a static analyzer for PHP that prefers to minimize false-positives. Phan attempts to prove incorrectness rather than correctness
- PHP 7.x : slides du meetup AFUP à Marseille/Aix et Montpellier, les 21 et 22 février 2017, historique des versions de PHP et quantité de liens
- PHP 7 – What changed internally? – Conférence donnée lors d’une rencontre AFUP en 2015, en anglais
- Musée du PHP – Téléchargement des anciennes versions
- Pascal Martin : Blog — Pascal MARTIN : développement Web & PHP et livre PHP 7 avancé
- Les flux en PHP (à relire! pas encore tout compris)