Aller au menu - Aller au contenu

PHP 5.3 : dernière étape avant PHP 6

Revenir à la liste des news
Participer à la discussion

Image

Informations

Contributeur(s) : Akushiro, Barti, BlackCoyote, ~Electro, giliam, Greyae, j3rOm3, linkboss, Lordgas, Nanocom, ProgVal, S0pra, Savageman, scientifix94, Talus, Tot, vincent1870, waaaou, Whitecoyote, Xhtml_boys, zingwai et zisworg
Publié : le 12/06/2009 à 17:44:53
Catégorie : Programmation
Visualisations : 8 453

Licence : Creative Commons BY SA

PHP 5.3 : dernière étape avant PHP 6

Image utilisateur
Elle est bientôt là : après plus de 10 mois d'attente (PHP 5.3 alpha 1 est sorti le 1er août 2008), la version finale de PHP 5.3 va finalement pointer le bout de son nez le 25 juin 2009 ! La RC3, étant candidate à la « Gold Release Candidate » (qui précède généralement la version finale), vient d'être publiée. L'attente aura été longue, mais les modifications apportées sont nombreuses et de taille, à tel point que cette version devrait être la dernière version majeure de PHP 5 avant PHP 6 (PHP 5.4 pourrait sortir, mais ce serait seulement après PHP 6). Il faut savoir que cette version est un avant-goût de PHP 6 dont elle hérite la plupart de ses nouvelles fonctionnalités, et certaines étant attendues depuis un certain temps.

Quoi de neuf ?


Les espaces de noms


Appelés "namespace" en anglais, c'est LA modification majeure qui a pris du temps. À l'instar du langage Java ou C++, les espaces de noms permettent de classer vos fonctions et / ou classes dans des ensembles, qui sont en fait une sorte de préfixe pour toutes vos variables / fonctions / classes. Toutes les fonctions natives de PHP seront placées dans l'espace de nom global. Vous pourrez créer vos propres espaces de noms pour vos fonctions, classes et variables personnalisées, sans interférer avec des noms déjà existants qui sont utilisés par d'autres librairies (et qui sont dans un autre espace de noms). ;)
Les espaces de noms aident à organiser le code et favorisent la modularité des développements lorsqu'ils sont utilisés à bon escient. Il en découle une maintenance et une réutilisation plus facile de codes provenant de sources différentes. Lire la doc sur PHP.net.

Code : PHP - Définition d'une fonction dans un espace de nom particulier
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
namespace A\B\C;

/* Cette fonction est A\B\C\fopen */
function fopen() { 
     /* ... */
     $f = \fopen(...); // appel à fopen global
     return $f;
} 
?>


Les fermetures, ou fonctions anonymes.


Appelées « closure » ou « lambda functions » en anglais, elles permettraient de définir des fonctions sans leur donner de nom. Par exemple, une variable pourra contenir une fonction et on pourra l'utiliser en appelant la variable avec les arguments correspondants ou bien encore comme callback d'une autre fonction. C'est en quelque sorte un remplacement de la fonction create_function(), qui nécessite un peu de gymnastique à l'utilisation. Voir l'exemple sur PHP.net.

Code : PHP
1
2
3
4
5
<?php
$afficher = function ($chaine) {
    echo htmlspecialchars($chaine);
}
$afficher('<script>alert("Tout va bien.");</script>');


Un pilote MySQL natif


Ce nouveau pilote, appelé MySQLnd pour MySQL native driver, a été conçu spécialement pour PHP. Il est inclus dans le Zend Engine et utilise son gestionnaire de mémoire. En outre la nouvelle librairie est plus rapide, car elle n'a pas besoin de copier le résultat de votre fetch() dans une variable PHP : elle utilise directement le jeu de données stocké en mémoire. Du côté de l'utilisateur, ça ne change rien : vous continuerez à utiliser MySQLi ou PDO. :) Ce sont ces 2 librairies qui vont utiliser le pilote MySQLnd au lieu de l'ancien pilote MySQL. Enfin, le pilote MySQLnd est livré sous licence PHP, ce qui permet un support natif de MySQL par PHP.
En savoir plus sur le pilote mysqlnd.

Des améliorations du php.ini


php.ini est le fichier de configuration de PHP. Il a été rendu plus flexible par l'ajout de sections spécifiques à un domaine ou à un dossier local. Les directives présentes dans ces sections ne seront pas modifiables par des fichiers INI utilisateurs (par exemple via .htaccess) ni pendant l'exécution. Ça peut être un moyen sûr de ne pas afficher les erreurs dans un environnement de production.

Code : Apache - Activation de l'affichage des erreurs uniquement sur le serveur de développement
1
2
3
[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On


Autres améliorations

  • Apparition de la méthode magique __callStatic(), similaire à __call() mais pour les méthodes statiques.
  • Ajout d'un ramasse-miettes (garbage collector) pour détecter les références croisées et les libérer (non activé par défaut, nécessite une option de configuration).
  • Meilleur support de Windows, notamment en ce qui concerne les fonctions du système de fichiers. La version minimale de Windows est désormais 2000 / XP, les anciennes versions (98, ME, NT 4) ne sont plus supportées.
  • Ajout des librairies intl et sqlite3.
  • L'extension PHAR passe dans le cœur de PHP, et quitte donc le dépôt PECL. Pour son utilisation, plus d'informations dans la doc.
  • Ajout des constantes __DIR__ et __NAMESPACE__
  • Les arguments devant être passés par références sont désormais positionnés à NULL lorsqu'ils sont passés par valeur / copie, accompagnés d'une erreur de niveau WARNING.
  • LSB : Late state binding ou résolution statique à la volée : le mot-clé static:: référencera la classe qui est appelée durant l'exécution et non pas la classe courante comme le fait self::
  • La syntaxe NOWDOC : elle est au type de syntaxe HEREDOC ce que sont les apostrophes (') aux doubles quotes (").
  • L'opérateur ternaire ?: est étendu. Son utilisation n'autorisait que <?php condition ? valeur_si_vrai : valeur_si_faux , mais on utilisait bien souvent : <?php ma_valeur ? ma_valeur : autre_valeur . Cette dernière commande pourra désormais être abrégée en : <?php ma_valeur ?: autre_valeur .
  • Ajout du niveau d'erreur E_DEPRECATED, généré dans le cas d'utilisation d'une syntaxe, d'une fonction, d'une classe, d'une méthode (etc.) qui est dépréciée. Par exemple, les fonctions utilisant les expressions régulières « POSIX » (ereg_*) ou bien les configurations comme safe_mode, magic_quotes_*, etc. sont dépréciées.
  • PHP supportera maintenant le système des labels et l'instruction goto, qui permettent de se rendre à un autre endroit du programme.
  • Ajout de la méthode magique __invoke() : vous pourrez désormais appeler vos objets comme des fonctions.

    Code : PHP
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    class MaClasse {
        public function __invoke() {
            echo 'Je suis appelé comme une fonction !';
        }
    }
    $o = new MaClasse;
    $o(); // Affichera "Je suis appelé comme une fonction !"
    


Et PHP 6 dans tout ça ?



En plus de cette liste non négligeable de nouveautés qui seront présentes dans PHP 5.3, la sortie de PHP 6 ajoutera aussi de nombreuses fonctionnalités. Ainsi, en voici quelques unes :
  • Support de l'Unicode : étant donné le fait qu'il y eut et qu'il y a encore de nombreux problèmes liés à l'encodage des fichiers et des informations des flux, un des buts de PHP 6 est que l'Unicode soit totalement supporté. Vous trouverez ici une liste des fonctions modifiées pour supporter totalement l'Unicode.
  • Configurations de « sécurité » supprimées : des fonctionnalités comme register_globals (déjà désactivées depuis PHP 4.2.0 mais toujours existantes !), safe_mode et magic_quotes vont être définitivement supprimées à partir de PHP 6.0
  • Extensions par défaut enlevées : quelques fonctionnalités incluses par défaut lors du téléchargement de PHP seront enlevées et transférées vers PECL car peu utilisées et modifiées. Entre autres, les fonctions marquées dans 5.3 comme étant dépréciées, comme les expressions régulières POSIX.


La liste officielle des changements est disponible sur le site de PHP.

144 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1  2  3  4  5  Suivante
Pseudo Discussion
0 visiteur sur cette news (0 membre et 0 Anonyme)
Page 1  2  3  4  5  Suivante
Hors ligne tasmi # Posté le 12/06/2009 à 17:46:20
Avatar

Ville : Toulouse
Pays : France métropolitaine

Super ;)

Image utilisateur
 
Hors ligne Takeo92 # Posté le 12/06/2009 à 17:49:43
GRENOBLE e BASTA !!
Avatar

ralalala le foutage de gueule, tasmi, t'as même pas lu la news, seulement pressé d'aller foutre le premier commentaire.

en tous cas, si onn lit, on remarque la belle bourde :

Publier cette news le jeudi 11 juin (cf. l'introduction).

:)
bravo!
Hors ligne zeppo4268 # Posté le 12/06/2009 à 17:50:25
Avatar

Ville : Marignane
Pays : France métropolitaine

Et bien que de changement, j'ai hâte de tester tout ça :)
Le changement dans php.ini va m'être particulièrement utile... enfin de toute façon depuis le temps qu'on attends une MAJ, vivement php6...

Un vieux de la vielle.
 
Hors ligne freespeaker # Posté le 12/06/2009 à 17:53:03

super cool cette news !
 
Hors ligne vyk12 # Posté le 12/06/2009 à 17:53:27
alias 85974
Avatar
Validateurs

Ville : Dardilly
Pays : France métropolitaine

Super ! :)
 
Hors ligne Kovacou' # Posté le 12/06/2009 à 17:54:58
** Tortoise POWER **
Avatar

Ville : Lorgues
Pays : France métropolitaine

Que du bonheur :)
 
Hors ligne Talus # Posté le 12/06/2009 à 17:55:08
"Go ahead. Make my day..."
Avatar
Validateurs
Flux RSS

Ville : Paris
Pays : France métropolitaine
études : EFREI

Enfin, "vivement", c'est vite dit. Ca n'en est meme pas à l'alpha, alors sois pas pressé. :p
 
Hors ligne neamar # Posté le 12/06/2009 à 17:56:48
Just know the rules
Avatar
Flux RSS

études : INSA Lyon

J'avais lu cette news au tout début de sa rédaction, c'est la première fois que je vois la différence entre version "alpha" et version finale. Du bon boulot !

Le problème (comme souvent avec PHP), c'est qu'il va encore falloir patienter pour que les hébergeurs appliquent cette mise à jour...


De toute façon personne ne lit les signatures. Ah si toi ? Bon bah personne d'autre que toi alors ;) .
 
Hors ligne X.Lewandowski # Posté le 12/06/2009 à 17:57:00
Pizza Hut
Avatar

Ville : Strasbourg
Pays : France métropolitaine

Oh My GOOD, la fonction invoke() ! Oh yeah !

Vous recherchez une idée jeu ? Vous savez programmer en ActionScript ?
N'attendez plus, faite un jeu du style Tower Defense (google search).
Vous l'avez finit ? Envoyé moi un MP, j'ai hâte d'y jouer !
 
Hors ligne viveseb # Posté le 12/06/2009 à 17:58:14

études : Université de Poitiers

vivement la sortie pour tester tout ça!
Hors ligne simmstein # Posté le 12/06/2009 à 17:58:28
Avatar

je sens déjà le bordel dans les scripts avec les fonctions anonymes...

VENEZ NOMBREUX =)
 
Hors ligne Ze@d # Posté le 12/06/2009 à 17:58:52
Enjoy it !
Avatar
Flux RSS

Ville : Wien
Pays : Autriche

3 news dans la même journée ! :-°

On bat des reccords :soleil:


Sinon, très bonne news ^^

"Il n'y a ni beau dessin, ni belle couleur : il y a qu'une seule beauté, celle de la vérité qui se révèle ...
 
Hors ligne tasmi # Posté le 12/06/2009 à 18:01:32
Avatar

Ville : Toulouse
Pays : France métropolitaine

Bon c'est que je n'ai pas lu la news, mais bon j'étais tellement préssé pour le premier commentaire :p

Image utilisateur
 
Hors ligne Didinho-13 # Posté le 12/06/2009 à 18:01:43
Aye Caramba !!!
Avatar

Ville : Marseille
Pays : France métropolitaine

Vraiment super cette news vivement PHP6 ... :)


 
Hors ligne Galip # Posté le 12/06/2009 à 18:01:47
<?php echo $php_user; ?>

études : UTBM

Enfin, on arrive bientôt à la version 6.

Par contre la syntaxe des namespaces est bizard. Pourquoi ne pas utiliser les opérateurs de résolution de portée ?

http://www.manuelphp.com/php/language. [...] kudotayim.php
 
Hors ligne X.Lewandowski # Posté le 12/06/2009 à 18:02:37
Pizza Hut
Avatar

Ville : Strasbourg
Pays : France métropolitaine

Encore un petit commentaire, trop génial les fonction anonymes hé hé ! Bidouillage accordé :p

Vous recherchez une idée jeu ? Vous savez programmer en ActionScript ?
N'attendez plus, faite un jeu du style Tower Defense (google search).
Vous l'avez finit ? Envoyé moi un MP, j'ai hâte d'y jouer !
 
Hors ligne ~Electro # Posté le 12/06/2009 à 18:05:23
Así sea !
Avatar
Flux RSS

Citation : Ze@d
3 news dans la même journée ! :-°

On bat des records :soleil:

C'est même trop. Pas le temps d'en profiter.
Citation : Ze@d
Sinon, très bonne news ^^

Oui, c'est une bonne nouvelle.
 
Hors ligne gp2mv3 # Posté le 12/06/2009 à 18:07:49
Finale de Prologin 2010
Avatar

Ville : Glimes
Pays : Belgique
études : Université catholique de Louvain

Cool, j'ai bien envie de la tester sur mon WAMP...

Image utilisateur

Image utilisateur

Economiser de l'énergie simplement, ça vous dit ? The Planet Needs Help

Voir le projet sur le SdZ
Nous cherchons des échanges de liens, si vous êtes intéressés, MP ou par mail.
 
Hors ligne toun # Posté le 12/06/2009 à 18:08:48
Avatar
Flux RSS

Ville : Gouesnach
Pays : France métropolitaine
études : Educatel

Va falloir mettre a jour le tuto de m@teo21 :)

WebOS Youtoun Ubuntu | Blog | Sources
Avancement global : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 35 %
Interface : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 40 %
Terminal : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 95 %
Applications : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 15 %
 
Hors ligne Shackdown # Posté le 12/06/2009 à 18:10:46
Quand on veut, on peut

Du très bon boulot ;) Vive php6 :)


Partage tes répliques de prof !
Recherche webdesigner pour refonte graphique Réplique de Prof (rémuneration) --> mp
Invitations pour lockerz et Google Wave --> Mp moi
 
Hors ligne Ze@d # Posté le 12/06/2009 à 18:12:16
Enjoy it !
Avatar
Flux RSS

Ville : Wien
Pays : Autriche

Citation : ~Electro
Citation : Ze@d
3 news dans la même journée ! :-°

On bat des records :soleil:

C'est même trop. Pas le temps d'en profiter.


Oui, c'est dommage, la news précédente est quasiment passée inaperçue.

"Il n'y a ni beau dessin, ni belle couleur : il y a qu'une seule beauté, celle de la vérité qui se révèle ...
 
Hors ligne ShigeruM # Posté le 12/06/2009 à 18:15:30
Choupitouchou pati!!!
Avatar

Cool pour la news.
Sinon, on s'étonne tous du fait qu'il y ait plusieurs news par jour. En fait c'est normal : les infos arrivent et hop elles sont "newsées". C'est l'ancienne mode (une news tous les 3 ou 4 jours) qui était à revoir. Ce qui a été fait.

Merci aux contributeurs de la news :)

Plein de trucs à faire ? www.TrucsAFaire.com
"Je n'ai fait que prendre le principe d’hypertexte et le relier au principe du TCP et du DNS et alors – boum ! – ce fut le World Wide Web !" - Tim Berners-Lee
Les chocapics n'ont qu'à bien se tenir !
 
Hors ligne Gambit2099 # Posté le 12/06/2009 à 18:18:32
Crow never dies...
Avatar

études : IIM

Citation : tasmi
Bon c'est que je n'ai pas lu la news, mais bon j'étais tellement préssé pour le premier commentaire :p


Pourquoi t'as gagné quoi ?

Pfff, get a life.

Mon Blog-Art (dessins, recherches, croquis)
Mon compte Dailymotion (animations, montage vidéo)
A quoi je ressemble: Clique!
Stop à la pop-programmation !

 
Hors ligne ShigeruM # Posté le 12/06/2009 à 18:21:22
Choupitouchou pati!!!
Avatar

Citation : Gambit2099
Citation : tasmi
Bon c'est que je n'ai pas lu la news, mais bon j'étais tellement préssé pour le premier commentaire :p


Pourquoi t'as gagné quoi ?

Pfff, get a life.

Il a 10 ans... Soit indulgent.

Plein de trucs à faire ? www.TrucsAFaire.com
"Je n'ai fait que prendre le principe d’hypertexte et le relier au principe du TCP et du DNS et alors – boum ! – ce fut le World Wide Web !" - Tim Berners-Lee
Les chocapics n'ont qu'à bien se tenir !
 
Hors ligne ~Electro # Posté le 12/06/2009 à 18:22:06
Así sea !
Avatar
Flux RSS

Citation : Ze@d
Citation : ~Electro
Citation : Ze@d
3 news dans la même journée ! :-°

On bat des records :soleil:

C'est même trop. Pas le temps d'en profiter.


Oui, c'est dommage, la news précédente est quasiment passée inaperçue.

En fait, on a même plus le temps de s'intéresser aux news tellement il y en a. Depuis 2-3 news, on reste à moins de 50 commentaires. C'est pas énorme pour le SdZ, loin de là. Faudrait revoir le débit.
 
Hors ligne PouleT # Posté le 12/06/2009 à 18:29:40
Avatar

études : HEC Montréal

PHP, ce dinosaure.

« Le SDZ est un site d'idiots, définitivement. »
 
Hors ligne NTag # Posté le 12/06/2009 à 18:30:53
Quand on veut, on peut.
Avatar
Flux RSS

Ville : Saint-paul
Pays : Réunion

Super :) !

Bonne news ;) .

NTag



Vous voulez découvrir le tout début du site du Zer0 ? ==> http://web.archive.org/web/20020116162 [...] duzero.fr.st/ (ça c'est vraiment le début) pour voir plus de pages ==> http://web.archive.org/web/*/http://www.siteduzero.com
Projets actuels :
  • Windows-Infos : █ █ █ █ █ █ █ █ █ █ (100 %)
  • BigTuto : Convertir, Modifier, Monter vos vidéos ! █ █ █ █ █ █ █ █ █ (10 %)
  • Passe-Nature : █ █ █ █ █ █ █ █ █ █ (20 %)



Lorsque l'homme aura coupé le dernier arbre, pollué la dernière goûtte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent ne se mange pas...
 
Hors ligne Arcanos # Posté le 12/06/2009 à 18:31:46
Imasu ka imasen ka
Avatar

Ville : Bicqueley
Pays : France métropolitaine

Pas mal ces nouveautés ... mais c'est pas non plus révolutionnaire ...
 
Hors ligne Ze@d # Posté le 12/06/2009 à 18:32:46
Enjoy it !
Avatar
Flux RSS

Ville : Wien
Pays : Autriche

Citation : ~Electro
Citation : Ze@d
Citation : ~Electro
Citation : Ze@d
3 news dans la même journée ! :-°

On bat des records :soleil:

C'est même trop. Pas le temps d'en profiter.


Oui, c'est dommage, la news précédente est quasiment passée inaperçue.

En fait, on a même plus le temps de s'intéresser aux news tellement il y en a. Depuis 2-3 news, on reste à moins de 50 commentaires. C'est pas énorme pour le SdZ, loin de là. Faudrait revoir le débit.


En même temps, les news précédentes à celle-ci restent relativement visible :p ; mais c'est vrai que limiter le site à par exemple 2 news par jour grand max serait mieux ^^

Mais bon d'un autre côté cela montre que le site est actif :-°

"Il n'y a ni beau dessin, ni belle couleur : il y a qu'une seule beauté, celle de la vérité qui se révèle ...
 
Hors ligne cypher666 # Posté le 12/06/2009 à 18:37:12
Heu....
Avatar

Ville : Paris
Pays : France métropolitaine

Il faut s'arranger pour sortir sa news en dernier, pour qu'elle soit affichée sur la page d'accueil ^^

Sinon, comment voulez vous empêcher les gens d'écrire des news?
En obligeant les news à sortir minimum toutes les 12h? :)


Image utilisateur


Quand vous allez sur un site amateur, cliquez sur les publicités, ça rapporte de l'argent au webmaster et vous ça ne vous coûte rien :)
Image utilisateur



 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news