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 :

Que pensez-vous de PHP 5.3 ? [Débat]


Sujet :

Langage PHP

  1. #21
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par kaymak Voir le message
    o fait quid de la compat. des scripts développés en php 5.2, beaucoup de changement en perspective, ou très peu ?
    Je suis en train de préparer un document détaillé à ce sujet, j'espère pouvoir le sortir dans quelques jours (idéalement, avant la sortie de la version finale)

  2. #22
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Ca c'est top ! Merci Yogui !

    Mais bon, si y'a un guide, c'est que sa sent le cadavre.....

  3. #23
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    5.3, c'est super. Comment ne pas louer tous ses ajouts majeurs ?

    Y a juste un BIG probo: la grammaire de php n'est plus assez souple ni même cohérente (oserais-je dire) par rapport aux nouvelles possibilités.
    Ce qu'il manque ? Un déréférençage automatique là où ça a du sens. Ca devient une nécessité avec l'arrivée des fonctions anonymes. Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $curry()(); // error
    $array[$key](); // error
    $obj->lambda(); ($obj->lambda)(); {$obj->$lambda}(); // error
    $obj()(); // (__invoke()) error
    func()[]; // error
    Il m'a semblé lire rapidement dans la mailing list internal de php que les core members ne sont pas très chauds pour autoriser ce genre de pratiques qui sont pourtant monnaie courante dans la plupart des langages aux possibilités similaires.

    Comme souvent, ça finira par être implémenté... mais trop tard (et oui, $obj->a()->b() ça vous dit quelque chose ?). Pour contourner ces problèmes, les développeurs auront pris l'habitude de passer par des variables temporaires ou des niveaux supplémentaire d'indirection, ce qui ne manquera pas d'apporter de l'eau au moulin du camp des pourfendeurs de php.

  4. #24
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    @metagoto : Je ne comprends pas ton code, pourquoi mets-tu ()() ? Est-ce que tu ne parles pas plutôt de ()[] ?

  5. #25
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par Yogui Voir le message
    @metagoto : Je ne comprends pas ton code, pourquoi mets-tu ()() ? Est-ce que tu ne parles pas plutôt de ()[] ?
    Le cas d'une fonction qui retourne une fonction.

    Un exemple trivial:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $f = function($a) {
        return function($b) use ($a) {
            return $a + $b;
        };
    };
     
    //echo $f(2)(3);
    $g = $f(2);
    echo $g(3);
     
    $a = new \stdClass;
    $a->f = function() { return 'f'; };
    // comment caller $a->f directement?
    Et il est vrai que ()[] n'est pas non plus autorisé alors que ()-> l'est. Les fonctions anonymes étant des objets Closure en interne il n'est plus logique d'interdire ()().

  6. #26
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    En même temps, cela deviendrait parfaitement illisible

    C'est ok pour du prototypage mais, pour le reste, on peut déjà faire ce qu'on veut avec la SPL non ?

  7. #27
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par Yogui Voir le message
    En même temps, cela deviendrait parfaitement illisible
    Ce qui me paraît illisible c'est justement ce que l'on doit rajouter "à contre coeur" pour arriver à nos fin et contourner ces dites limitations.
    Ca ne choque plus personne de nos jour de déclarer et caller sur place une fonction en javascript par exemple. C'est fort utile: (function(){..})();

    Maintenant que les features sont là, il ne manque plus qu'à mettre la grammaire de php en accord avec celles-ci.

  8. #28
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    JavaScript permet de faire de belles choses, mais le code d'une application JS est souvent qualifiable d'illisible à mon avis...

    L'un des problèmes de ce que tu proposes est que le code suivant serait syntaxiquement permis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_fonction()()()()()[6]()[2]->appel()[1];

  9. #29
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par Yogui Voir le message
    JavaScript permet de faire de belles choses, mais le code d'une application JS est souvent qualifiable d'illisible à mon avis...

    L'un des problèmes de ce que tu proposes est que le code suivant serait syntaxiquement permis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_fonction()()()()()[6]()[2]->appel()[1];
    Si ce code a du sens, pourquoi pas ?
    C'est juste une question de cohérence, les développeurs étant libre d'implémenter leurs trucs comme ils le veulent! Dans un tel cas, ce développeur me paraîtrait bien sur de lui

    Voici ce que l'on devrait faire actuellement pour arriver à la même chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $tmp1 = ma_fonction();
    $tmp2 = $tmp1();
    $tmp3 = $tmp2();
    $tmp4 = $tmp3();
    $tmp5 = $tmp4();
    $tmp6 = $tmp5[6];
    $tmp7 = $tmp6();
    $tmp8 = $tmp7[2]->appel();
    /*$result = */$tmp8[1];
    Quitte à avoir le choix, je préfère me passer des 8 variables temporaires et dérouler le code dans un pur style à la C, ce dont est issu php! Je me répète, les features sont là, il faut juste être cohérent maintenant, ce qui n'a rien à voir avec l'offuscation ou même "l'ésotérisme" que l'on peut apporter aux codes

  10. #30
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je te taquinais, moi aussi j'aimerais mieux que le langage laisse l'opportunité de faire des choses meme si ça peut devenir laid... À chacun sa responsabilité

    Au fait, Johannes annonçait il y a quelques heures que PHP 5.3 est réellement prévu pour mardi, cette fois c'est la bonne :
    Alright,

    I mentioned it in the last mails a bit in different ways so to make it
    clear:

    I'm aiming at re-tagging and packaging 5.3.0 to get these things in:

    - Andrei's calloc fix
    - Rasmus's/Ilia's curl fix
    - Improvements to the UPGRADING file (everybody)

    If possible (and I think it is) I'd like to keep Tuesday as target
    release date. Pierre told me he'd be available Monday evening (German
    time) to prepare the Windows builds, I would like some time to verify
    the packages (did I re-tag correctly? did I package correct? ... Did I
    commit it to phpweb correctly as binary file? ...) so I think packaging
    on Sunday would be better, while that means some people spend weekend
    time on this, but I hope that's ok :-)

    Thanks everybody,
    johannes
    Et Pierre de répondre au sujet de la compilation des exe/dlls :
    To be more precise, I would like to provide the releases (src, bins
    and installer) today so more people can test them. On Monday we will
    do some more tests in the office as well, but sadly only in the
    morning (US, or evening for the european .


    About the curl patch, it builds fine and seems to work well on linux
    (ubuntu) and windows, using curl 7.19.4/5 and 7.18.2. Any objection if
    I commit it already? Same for Andrei's patch.

    Cheers,
    Les builds pour Windows seront faits aujourd'hui (dimanche), puis testés par Pierre et ses collègues jusqu'à lundi soir. Si vous repérez un bug dans ce temps, faites-vous connaître

    Pour information, PHP 5.3.1 est prévue pour dans un ou deux mois.

  11. #31
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Oui oui! Je suis aussi la discussion sur la mailing list. On n'a jamais été aussi proche d'une release, enfin

  12. #32
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par Yogui Voir le message
    Je suis en train de préparer un document détaillé à ce sujet, j'espère pouvoir le sortir dans quelques jours (idéalement, avant la sortie de la version finale)
    Le voici : http://www.developpez.net/forums/d77...ume-rossolini/

    Il s'agit de la traduction d'un article d'IBM Developer Works par John Mertic, il explique en détail les nouveautés de PHP 5.3 et il se termine par un guide de migration depuis PHP 5.2

  13. #33
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Citation Envoyé par seebz Voir le message
    [CODE]<?php


    class base
    {....
    Il est gros celui-ci.... J'espère qu'ils vont le corriger pour la sortie ou que tu t'es trompé car en ce qui me concerne si ils releasent cela, je vais surement attendre la 5.3.2.... Même si cela me déplait.

    A bon entendeur, a plus.

  14. #34
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Dans la mesure où tu fais des appels statiques, as-tu essayé avec __callStatic() ?

  15. #35
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par seebz Voir le message
    Code qui m'affiche :
    B->parent_automatic() call A::test()
    B->test() is called

    B->parent_manual() call A::test()
    B->test() is called

    Autrement dit, B appelle une méthode de son parent (A) mais c'est B qui répond
    Non, ce n'est pas B qui répond, c'est bien Base, comme attendu. __call() n'est pas une méthode statique alors get_called_class() est la même chose que get_class($this) dans ce contexte. $this est bien tu type B dans la hierarchie.

    En revanche, comme mentionné par Yogui, si tu utilises __callStatic(), dans ce cas là get_called_class() te donnera A

  16. #36
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Voici la sortie officielle de PHP 5.3 !

    Hello!

    The PHP Development Team would like to announce the immediate release of PHP 5.3.0. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes.

    Release Announcement: http://www.php.net/release/5_3_0.php
    Downloads: http://php.net/downloads.php#v5.3.0
    Changelog: http://www.php.net/ChangeLog-5.php#5.3.0

    regards,
    Johannes and Lukas
    D'autres versions compilées pour Windows sont ici : http://windows.php.net/download/

  17. #37
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 305
    Points
    305
    Par défaut
    C'est parti pour les espaces de noms ...

    une petite question les hebergeurs ne vont pas mettre à jour aujourd'hui en moyenne cela prends plusieurs mois ? semaines ? jours ?

    ou ils attendront PHP 6 ?

  18. #38
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par haygus Voir le message
    C'est parti pour les espaces de noms ...

    une petite question les hebergeurs ne vont pas mettre à jour aujourd'hui en moyenne cela prends plusieurs mois ? semaines ? jours ?

    ou ils attendront PHP 6 ?
    Les hébergeurs devraient vraisemblablement proposer php 5.3 dans les semaines à venir, du moins ceux qui ont déjà switchés pour php 5! (ils y en a qui sont toujours sur php4 uniquement)
    Guide de migration: http://fr3.php.net/migration53 (en anglais)
    Il n'y a que très peu d'incompatibilités par rapport à 5.2.x, ça devrait aider.

    La dernière version avant 5.3 est la 5.2.10 sortie le 18 juin. Si ton hébergeur est en 5.2.10, c'est plutôt bon signe.

  19. #39
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Pour prendre OVH j'espère qu'on pourra préciser la version de PHP5... Effectivement il n'y a pas beaucoup de différence, mais quand il s'agit de debuguer une 30ène de sites webs, avec des librairies (smarty et adodb pour mon cas + les autres librairies utilisées par d'autres personnes avant que j'arrive dans ma boite) ça va être coton coton.
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  20. #40
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Citation Envoyé par stailer Voir le message
    Pour prendre OVH j'espère qu'on pourra préciser la version de PHP5... Effectivement il n'y a pas beaucoup de différence, mais quand il s'agit de debuguer une 30ène de sites webs, avec des librairies (smarty et adodb pour mon cas + les autres librairies utilisées par d'autres personnes avant que j'arrive dans ma boite) ça va être coton coton.
    ben normalement tu utilises suphp sur ovh, donc un petit handler configuré sur une extension spécifique et puis zou, non ? Enfin c'est en dédié sa....

    <derive>
    A ce sujet ==>
    D'autres versions compilées pour Windows sont ici : http://windows.php.net/download/
    Ils en sont ou de http://pecl4win.php.net/ ? Car c'est très embêtant cette situation..
    </derive>

Discussions similaires

  1. Réponses: 55
    Dernier message: 10/06/2011, 12h57
  2. [Internals] Que pensez-vous des Fermetures en PHP ?
    Par Yogui dans le forum Langage
    Réponses: 22
    Dernier message: 14/02/2010, 07h49
  3. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 11h17
  4. [Delphi for PHP] Que pensez vous de Delphi for PHP
    Par ph_anrys dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 12/04/2007, 00h01
  5. Que pensez vous de delphi pour PHP
    Par aityahia dans le forum Delphi
    Réponses: 15
    Dernier message: 06/04/2007, 00h16

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