IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP 5.5 sort en Alpha 1


Sujet :

Langage PHP

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut PHP 5.5 sort en Alpha 1
    PHP 5.5 sort en Alpha 1
    et introduit les générateurs, le block Finally ainsi qu’une API de hachage des mots de passe

    Le cycle de publication de PHP 5.5.0 vient officiellement de débuter.

    Les développeurs de la plateforme Web ont publié la première version Alpha de PHP 5.5.0.

    PHP 5.5.0 apporte des nouvelles fonctionnalités majeures au langage, dont le support des générateurs. Les générateurs sont un moyen simple et puissant de créer des itérateurs. L’introduction des générateurs dans PHP va permettre aux développeurs d’implémenter des itérateurs sans avoir à écrire beaucoup de code décoratif.

    Le support des générateurs s’accompagne de l’introduction du nouveau mot clé « yield », qui permet d’implémenter un itérateur. Ce mot clé peut être utilisé suivant trois syntaxes différentes (yield, yield $value, yield $key => $value).

    L’intégration d’une nouvelle API de hachage des mots de passe permettra aux développeurs et administrateurs de stocker en toute sécurité les mots de passe. En une seule ligne de code, les développeurs pourront générer un mot de passe chiffré en utilisant bcrypt.

    Également au menu de PHP 5.5.0, l’ajout du mot clé finally. finally permet d'éviter au développeur d'écrire un code de nettoyage lorsqu'une exception non manipulable se produit.

    L’extension intl, facilitant la gestion de l’internalisation et la localisation s’enrichit de deux nouvelles classes, permettant la manipulation des dates et des timezones (IntlCalendar et IntlGregorianCalendar) et de nouveaux itérateurs pour le parcours de texte par caractères, mots, lignes ou phrases (IntlBreakIterator, IntlRuleBasedBreakIterator et IntlCodePointBreakIterator).


    Avec cette version, les boucles foreach pourront désormais supporter les listes.

    Côté support, cette version met fin au support de Windows XP et Windows 2003. L’Alpha 1 de PHP 5.5 est disponible à des fins de tests. Les développeurs sont invités à télécharger cette version et fournir des commentaires et même des correctifs de bugs.

    Des fonctionnalités pourront être ajoutées ou supprimées avant la publication de la prochaine mouture de PHP 5.5.0.


    Télécharger les packages pour PHP 5.5 Alpha 1

    Télécharger les binaires pour Windows de PHP 5.5 Alpha 1


    Source : php.net


    Et vous ?

    Que pensez-vous des nouveautés de PHP 5.5 ? Quelles autres fonctions souhaiterez-vous trouver dans le langage ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2010
    Messages : 30
    Points : 66
    Points
    66
    Par défaut
    Que pensez-vous des nouveautés de PHP 5.5 ?

    J'adore la gestion "native" des mots de passe !
    Une bénédiction !

  3. #3
    Invité
    Invité(e)
    Par défaut
    ENFIN la gestion du "finally" il était temps !

    Il est vrai que la gestion des iterator était un peut lourde, proposer une solution est une bonne chose.

    D'un point de vue général, je pense que cette nouvelle stratégie de sortie de version plus fréquente apportera plus de dynamisme au langage, plus de réaction dans sa communauté et donc plus de vie à php, ce qui peut être un très bon moteur.

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    Vu ce qu'il est possible de faire avec le bloc try de Java 7 aujourd'hui, PHP a encore un train de retard avec le bloc finally.
    Sinon bonne nouvelle pour le generator yield et l'API de cryptage
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Expert confirmé Avatar de Zefling
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    1 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 168
    Points : 4 654
    Points
    4 654
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    Vu ce qu'il est possible de faire avec le bloc try de Java 7 aujourd'hui, PHP a encore un train de retard avec le bloc finally.
    Je trouve tout de même qu'on finit par en abuser et je suis pas sûr que niveau perf ça soit extra. Mais je peux me tromper.

    Perso, j'attends toujours le support natif de l'Unicode. Et pour les perfs je pense aussi qu'il y a de la marge.

  6. #6
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    C'est un grand ouf en ce qui concerne les itérator car la "tonne" de code qu'il fallait écrire pour en implémenté un ...
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Comparer pour comparer...
    Citation Envoyé par Gugelhupf Voir le message
    Vu ce qu'il est possible de faire avec le bloc try de Java 7 aujourd'hui, PHP a encore un train de retard avec le bloc finally.
    Vu les performances et le confort d'une A8 TDI, le New Holland R7 185 est à la ramasse... sur route ! Mais pour labourer, je voudrais voir les perfs de la A8 ! Java a son utilité, ses contraintes, ses performances, ses domaines de prédilection... pour PHP c'est pareil. Ne comparons que ce qui est réellement comparable (A toutes fins utiles, le New Holland est un tracteur).

  8. #8
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    La première bêta de PHP 5.5 disponible
    avec Zend Opcache pour améliorer les performances des applications et la fonction array_column

    Cette étape importante dans le cycle de développement du langage de programmation Web marque le gel des nouvelles fonctionnelles, ce qui signifie qu’aucune autre nouvelle caractéristique ne sera ajoutée jusqu’à la sortie de la version finale.


    Au menu des nouveautés majeures :

    • l’ajout d’array_column, une fonction qui permet de retourner une colonne dans un tableau multidimensionnel ;
    • l’intégration de Zend Opcache extension (fonction désactivée par défaut. Son utilisation nécessite l’édition du fichier INI) ;
    • la prise en charge des clés non scalaires pour les itérateurs dans le foreach ;
    • la possibilité de modifier le titre des processus dans « CLI/CLI-Server SAPIs ».


    Zend Opcache est le nouveau nom qui a été attribué à Zend Optimizer+. Cette fonctionnalité permet de charger plus rapidement les pages PHP en améliorant les performances du bytecode généré par l’interpréteur de code source PHP.

    En plus de ces nouvelles fonctions, PHP 5.5 introduit également le support des générateurs, le nouveau mot clé « yield », une nouvelle API de hachage des mots de passe et le nouveau mot clé « finally » (voir section « le dossier complet de la rédaction »).

    La prochaine bêta de PHP 5.5 est prévue pour la quatrième semaine d’avril. Les développeurs sont invités à tester cette version et à apporter leur feedback pour permettre une sortie rapide de la version finale.

    Télécharger le bêta de PHP 5.5


    Source : site du projet


    Et vous ?

    Utilisez-vous Zend Optimizer ? Que pensez-vous de son intégration dans PHP 5.5 ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut
    Bonjour,

    L'exemple de finally (#2) sur la doc n'est pas très clair...

    Dans cet exemple on a ce résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    0.2
    Première fin.
    Exception reçue : Division par zéro.
    Seconde fin.
    Bonjour le monde !
    Or quel est l'intérêt de mettre "première fin" et "seconde fin" dans un finally, alors que le mettre en dehors du try catch (comme "bonjour le monde !") a le même effet ?

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je pense que c'est pour illustrer le finally, et notamment le fait qu'on passe toujours dedans : le "Première fin" correspond à un cas où il n'y a pas d'exception et le "Seconde fin" à un cas où une exception a été attrapée.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Jarodd Voir le message
    Bonjour,

    L'exemple de finally (#2) sur la doc n'est pas très clair...

    Dans cet exemple on a ce résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    0.2
    Première fin.
    Exception reçue : Division par zéro.
    Seconde fin.
    Bonjour le monde !
    Or quel est l'intérêt de mettre "première fin" et "seconde fin" dans un finally, alors que le mettre en dehors du try catch (comme "bonjour le monde !") a le même effet ?
    Le bloque finally n'est pas vraiment utile dans le cas d'un structure try-catch-finally. La seule utilité que je lui vois dans ce cas est la documentation (finally <=> libération des ressources). Par contre on peut l'utiliser de la façon suivante (en reprenant l'exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    try {
      try {
          echo inverse(5) . "\n";
      }finally {
          echo "Première fin.\n";
      }
    
      try {
          echo inverse(0) . "\n";
      }finally {
          echo "Seconde fin.\n";
      }
    } catch (Exception $e) {
        echo 'Exception reçue : ',  $e->getMessage(), "\n";
    }
    // On continue l'exécution
    echo 'Bonjour le monde !';
    C'est encore plus utile dans le cas où on a plusieurs try-finally imbriqués pour gérer plusieurs ressources mais qu'on veux traiter les exceptions de manière globale.

    Citation Envoyé par Gugelhupf Voir le message
    Vu ce qu'il est possible de faire avec le bloc try de Java 7 aujourd'hui, PHP a encore un train de retard avec le bloc finally.
    Citation Envoyé par pcescato Voir le message
    Vu les performances et le confort d'une A8 TDI, le New Holland R7 185 est à la ramasse... sur route ! Mais pour labourer, je voudrais voir les perfs de la A8 ! Java a son utilité, ses contraintes, ses performances, ses domaines de prédilection... pour PHP c'est pareil. Ne comparons que ce qui est réellement comparable (A toutes fins utiles, le New Holland est un tracteur).
    La nouvelle gestion des try-with-ressource en Java est juste un sucre syntaxique. Il n'y a donc pas d'impact sur les performance. Elle pourrait très bien être ajouté à PHP.
    En gros :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    static String readFirstLineFromFile(String path) throws IOException {     
     try (BufferedReader br = new BufferedReader(new FileReader(path))) {   
          return br.readLine();   
     } 
    }
    est remplacé par :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    static String readFirstLineFromFileWithFinallyBlock(String path) throws IOException {
       BufferedReader br = new BufferedReader(new FileReader(path));     
       try {       
         return br.readLine();  
       } finally {   
         if (br != null) br.close();  
       }
    }
    Par contre toutes les classes IO des API ont été modifiées pour ajouter l'interface Closeable (close(); )

  12. #12
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    Je ne savais pas que c'était une simple sucre syntaxique.
    Mais il y a tout de même une différence, c'est que la portée des objets instanciés dans le cas d'un try-with-ressource sont limités au bloc try.
    Enfin bref, plus court et plus propre, parfait pour un langage de haut niveau.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

Discussions similaires

  1. PHP 5.6 sort en version stable
    Par Hinault Romaric dans le forum Langage
    Réponses: 4
    Dernier message: 30/08/2014, 12h34
  2. appeler une fonction php quand on sort de la page
    Par laurentSc dans le forum Langage
    Réponses: 30
    Dernier message: 15/03/2013, 23h38
  3. Réponses: 0
    Dernier message: 13/04/2010, 00h44
  4. Faire un sorte de peer to peer en php
    Par johnson95 dans le forum Langage
    Réponses: 4
    Dernier message: 14/05/2008, 10h32
  5. [CKEditor] FCKeditor sort du balisage PHP
    Par guy2004 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 21/05/2006, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo