PHP 5.3 voit apparaitre de nouvelles fonctions au sein de la bibliothèque OpenSSL.
Pour la petite histoire, lors de l’ajout de ces nouvelles fonctions, l’objectif était de faciliter l’implémentation d’OpenID en PHP.
Sommaire :
Aller au contenu | Aller au menu | Aller à la recherche
vendredi 21 novembre 2008
Par Pascal MARTIN le vendredi 21 novembre 2008, 07:30 - Développement Web
PHP 5.3 voit apparaitre de nouvelles fonctions au sein de la bibliothèque OpenSSL.
Pour la petite histoire, lors de l’ajout de ces nouvelles fonctions, l’objectif était de faciliter l’implémentation d’OpenID en PHP.
Sommaire :
jeudi 20 novembre 2008
Par Pascal MARTIN le jeudi 20 novembre 2008, 07:30 - Développement Web
Cette série d’articles commence petit à petit à se rapprocher de sa fin : à peu de choses près, dans une semaine, je devrais être en train de publier mon article dores et déjà intitulé "Conclusion"…
Voici donc venu le temps de dresser, « en vrac », une liste d’améliorations que je considère soit comme mineures, soit pour lesquelles je n’ai pas de démonstration à effectuer, ni d’exemples à présenter — quoi qu’il en soit, des nouveautés pour lesquelles je n’ai pas jugé nécessaire de rédiger d’articles entiers.
Sommaire :
mercredi 19 novembre 2008
Par Pascal MARTIN le mercredi 19 novembre 2008, 07:30 - Développement Web
Java a ses .jar, UNIX[1] ses .tar, … Et PHP, jusqu’à aujourd’hui, n’avait que des fichiers, sans la possibilité de les regrouper en une seule archive.
PHP 5.3 corrige ce manque, en intégrant en natif l’extension phar — pour « PHP Archive » — qui permet de regrouper plusieurs fichiers en un seul paquet, reconnu et interprété par le moteur de PHP.
Sommaire :
[1] En fait, pour les .tar, un peu tout le monde, maintenant ^^
mardi 18 novembre 2008
Par Pascal MARTIN le mardi 18 novembre 2008, 07:30 - Développement Web
Voici la seconde partie de cet article traitant des nouveautés que PHP 5.3 ajoute à la SPL, la Standard PHP Library — la première partie ayant été publiée hier matin.
Sommaire de cette seconde partie :
lundi 17 novembre 2008
Par Pascal MARTIN le lundi 17 novembre 2008, 07:30 - Développement Web
Qui dit nouvelle version de PHP dit généralement nouveautés et amélioration pour la SPL (Standard PHP Library).
PHP 5.3 ne déroge pas à la règle, et voit l’apparition de plusieurs nouvelles classes :
FilesystemIterator et GlobIterator,Encore une fois, pour éviter que cette article ne soit trop long, j’ai choisi de le découper en deux parties : une que je publie aujourd’hui (lundi 17/11), et l’autre qui sera pour demain, mardi 18 novembre 2008.
Sommaire de cette première partie :
vendredi 14 novembre 2008
Par Pascal MARTIN le vendredi 14 novembre 2008, 07:30 - Développement Web
PHP a toujours été fortement associé à MySQL, que ce soit pour des raison historiques, philosophiques, ou pratiques.
PHP 5.3 voit apparaitre une nouveauté au niveau de la communication entre PHP et MySQL : un nouveau driver, nommé « mysqlnd », pour « MySQL Native Driver ».
Sommaire :
jeudi 13 novembre 2008
Par Pascal MARTIN le jeudi 13 novembre 2008, 07:30 - Développement Web
Les exemples correspondant à ce point se trouvent dans le répertoire "ternary-operator".
PHP 5.3 modifie le comportement de l’opérateur conditionnel ternaire « ?: », en rendant optionnelle sa seconde opérande :
Sommaire :
PHP propose depuis fort longtemps un opérateur ternaire, qui permet d’évaluer une condition, et renvoi une valeur si la condition est vraie, et l’autre si la condition était fausse :
condition ? valeur_si_vrai : valeur_si_faux
Hors, il nous arrive souvent d’utiliser cet opérateur pour utiliser une valeur si elle est vraie, et une autre dans le cas contraire, ce qui se traduit par du code de la forme suivante :
ma_valeur ? ma_valeur : autre_valeur
Dans ces situations, nous sommes forcés de dupliquer des écritures, parfois longues.
Pour nous faciliter les choses, PHP 5.3 modifie le comportement de l’opérateur ternaire, en ajoutant la possibilité de ne pas définir de valeur dans le cas où la condition est vraie ; c’est alors le résultat de l’évaluation de la condition qui sera retourné.
L’écriture utilisée juste au-dessus peut-alors être "résumée" de la manière suivante :
ma_valeur ?: autre_valeur
Note : vous êtes libre de placer des caractères d’espacement entre les symboles ‘?’ et ‘:’.
Pour illustrer mes propos, voire montrer quelques usages de cette modification apportée à l’opérateur ternaire, voici quelques exemples :
A chaque fois, un encadré contiendra le code de l’exemple, et le suivant contiendra le résultat obtenu à l’affichage.
Exemple 1 : Est-ce que true est vrai ?
Il y a des chances :
var_dump(true ?: false);
bool(true)
Exemple 2 : Est-ce que false est vrai ?
Probablement pas ; c’est donc la seconde valeur (ici, true) qui sera retournée :
var_dump(false ?: true);
bool(true)
Exemple 3 : Et entre 1 et 0 ?
1 est une valeur vraie :
var_dump(1 ?: 0);
int(1)
Exemple 4 : Une chaine de caractères contenant du texte différent de "0" est évaluée à vrai - et donc, retournée :
var_dump('glop' ?: '');
string(4) "glop"
Exemple 5 : Même chose pour un tableau non-vide : il est évalué à vrai :
var_dump(array(10) ?: array());
array(1) {[0]=>int(10)}
Exemple 6 : Avec des appels de fonctions :
var_dump(strlen('glop') ?: strlen(''));
int(4)
Exemple 7 : Avec une variable non initialisée : isset renvoi faux, et c’est la seconde valeur qui est retournée par l’opérateur :
var_dump(isset($a) ?: 10);
int(10)
Exemple 8 : Et avec une variable initialisée ?
isset renvoi true :
$b = 'Hello, World!'; var_dump(isset($b) ?: 10); unset($b);
bool(true)
Exemple 9 : Et avec deux valeurs fausses toutes les deux ?
La première valeur est évaluée à faux. C’est donc la seconde, peu importe sa valeur, qui est retournée :
var_dump(isset($a) ?: '');
string(0) ""
Exemple 10 : Même chose avec une chaine de caractères vide : elle est évaluée à faux, et c’est la seconde valeur qui est retournée :
var_dump('' ?: isset($a));
bool(false)
En somme, pas une évolution révolutionnaire[1], mais toujours quelques caractères de moins à taper… Dans certains cas.
Un regret tout de même : que l’opérateur issetor n’ait pas lui aussi été intégré à PHP 5.3
D’autant plus qu’utiliser une syntaxe de la forme $a ?: 10 lèvera toujours une notice si $a n’existait pas.
[1] Même pas fait exprès !
mercredi 12 novembre 2008
Par Pascal MARTIN le mercredi 12 novembre 2008, 07:30 - Développement Web
Cet article va présenter deux fonctions ajoutées à PHP 5.3, en rapport avec la manipulation de dates :
Sommaire :
« billets précédents - page 2 de 5 - billets suivants »
Derniers commentaires