PHP 4.1.0 dispo

Posté par  . Modéré par oliv.
Étiquettes :
0
11
déc.
2001
PHP
Après un nombre appréciable de Release Candidates (cf cette news), PHP 4.1.0 est sorti en version finale.

Le fichier NEWS est un peu énorme, mais les principales modifications sont les suivantes :
- Introduced a new $_REQUEST array, which includes any GET, POST or COOKIE variables. Like the other new variables, this variable is also available regardless of the context. (Andi & Zeev)
- Introduced $_GET, $_POST, $_COOKIE, $_SERVER and $_ENV variables, which deprecate the old $HTTP_*_VARS arrays. In addition to be much shorter to type - these variables are also available regardless of the scope, and there's no need to import them using the 'global' statement. (Andi & Zeev)
- Removed the sablotron extension in favor of the new XSLT extension. (Sterling)
La dev team de PHP/Zend devrait maintenant se focaliser sur PHP 4.2.0, tout en continuant d'élaborer les spécificités du Zend Engine 2 et de PHP 5.0.

Note du modérateur : En espérant que cette fois ci, c'est la bonne ;)

Aller plus loin

  • # Plus d'info ?

    Posté par  . Évalué à 2.

    Tout cela me semble bien intéressant, mais voudrais savoir si quelqu'un a déjà utilisé (dans les rc) les nouveaux tableaux de variables :


    $_POST, $_SERVER et sont-ils aussi intéressant à utiliser qu'ils le semblent ?





    Et pour ce qui est de la migration de code écrit pour des versions antérieures, y-at-il des contraintes particulières à respecter ?
    • [^] # Re: Plus d'info ?

      Posté par  . Évalué à 5.

      Ben, d'après ce que j'ai vu (pas regardé à fond non plus), les nouveaux tableaux ne sont "que" des alias des $HTTP_*_VARS.





      Ca s'utilise(rait ?) donc de la même façon.





      Par contre, pour tous les scripts qui utilisaient directement les variables des formulaires sans passer par un tableau du genre $HTTP_POST_VARS, va y avoir du portage à faire, puisque ça ne devrait plus être possible maintenant.
      • [^] # Re: Plus d'info ?

        Posté par  . Évalué à 2.

        les nouveaux tableaux ne sont "que" des alias des $HTTP_*_VARS.





        Ben apparement, il m'a semblé qu'il ne s'agissait pas que de simples alias, puisque ils devient aussi d'une portée global et qu'il ne sera plus nécessaire d'utiliser global en début de fonction pour y accéder, ce qui à mon avis devrait être trés pratique.
        • [^] # Re: Plus d'info ?

          Posté par  . Évalué à 1.

          Ben oui, mais au final, entre utiliser global $HTTP_POST_vars; echo $HTTP_POST_VARS["tugludu"]; et utiliser juste _POST["tugludu"];, je crois pas que y'ait de différence.





          Y'en a juste un qui est compatible PHP3 et l'autre pas.
          • [^] # Re: Plus d'info ?

            Posté par  . Évalué à 2.

            si, il y a une petite différence pratique :

            AVANT :

            function toto() {

            global $HTTP_POST_VARS ;
            printf("%s", $HTTP_POST_VARS["toto"]) ;

            ou

            printf("%s", $GLOBALS["HTTP_POST_VARS"]["toto"]) ;

            }

            MAINTENANT :

            function toto() {

            printf("%s", _POST["toto"]) ;

            }
      • [^] # Re: Plus d'info ?

        Posté par  (site web personnel) . Évalué à 5.

        Par contre, pour tous les scripts qui utilisaient directement les variables des formulaires sans passer par un tableau du genre


        $HTTP_POST_VARS, va y avoir du portage à faire, puisque ça ne devrait plus être possible maintenant.






        Extrait du changelog :


        "because the vast majority of the PHP code in the world relies


        on the existence of this feature, we have no plans to actually remove it


        from PHP anytime in the foreseeable future, but we've decided to encourage


        people to shut it off whenever possible. "





        Faut pas effrayer ses ouailles avec des trucs pareils ;) La fonctionnalitee ne sera pas supprimer de si tot, parce que la majorite l'utilise. Par contre, a partir d'aujourd'hui, mieux vaut utiliser la bonne methode de base ! M'en vais aller tester l'exemple du probleme de securite donne dans le changelog !
        • [^] # Re: Plus d'info ?

          Posté par  . Évalué à -1.

          Putain font chier, mais ils ont raison Grrrr....





          Bon, il va falloir que je réécrive pas mal de code.


          C'est le boss qui va être content.:-(
        • [^] # Re: Plus d'info ?

          Posté par  . Évalué à 3.

          Au PHP Forum 2001, ils avaient précisé que pour PHP 4.2.0, register_globals serait par défaut à Off, et que donc, les vieux scripts qui utilisent toujours directement les variables des formulaires, ben non, ils marcheront pas.





          Ils ont peut-être changé d'avis depuis, mais ça fait quand même plusieurs mois que la roadmap c'est PHP 4.1.0 => register_globals On mais nouvelle méthode; PHP 4.2.0 => register_globals Off.





          Enfin, on verra bien.
          • [^] # Re: Plus d'info ?

            Posté par  (site web personnel) . Évalué à 1.

            Le fait que register_globals soit à Off par défaut ne t'empeche pas de remettre à On si tu en a s besoin (et que tu as accès à la config du serveur).
            • [^] # Re: Plus d'info ?

              Posté par  . Évalué à 1.

              D'une manière générale, la plupart des gens font héberger leur site sur un hébergeur mutualisé, pas sur un serveur dédié. C'est pour ces gens-là que ça va être chiant, surtout.





              Pour ceux qui ont un dédié, de toutes façons, ils font ce qu'ils veulent, et même, ils peuvent choisir de pas installer PHP 4.1.0 et 4.2.0 :)
              • [^] # Re: Plus d'info ?

                Posté par  . Évalué à 1.

                Personnellement, "register_globals = on" est de la connerie.

                Certain hébergeur (wanadoo pour en citer parmis les plus mauvais) impose cette horreur avec php3.
                Les gros hébergeur qui utilise php3 le font en cgi. hors avec php3 en cgi on ne peut reconfigurer php à la volée (via .htaccess).
                Depuis peu il propose php4. Et avec php4, il est facile de le reconfigurer à la volée (mettre un php.ini là ou est lancé php).
  • # Release notes

    Posté par  . Évalué à 10.

    J'avais posté la news un peu tôt hier soir, les releases notes n'étaient pas encore parues. Les voici donc :


    - (en) http://www.php.net/release_4_1_0.php(...)">http://www.php.net/release_4_1_0.php(...(...))">http://www.php.net/release_4_1_0.php(...(...(...)))


    - (fr) http://www.php.net/release_4_1_0_fr.php(...)">http://www.php.net/release_4_1_0_fr.php(...(...))">http://www.php.net/release_4_1_0_fr.php(...(...(...)))





    Pile en ce moment, les releases notes en français ont l'air d'être une page vide, me demande bien pourquoi y'a un lien dessus sur la home de php.net.


    On peut en trouver une version sur PHPinfo.net : http://www.phpinfo.net/?p=php410(...)">http://www.phpinfo.net/?p=php410(...(...))">http://www.phpinfo.net/?p=php410(...(...(...)))


    Par contre, je ne sais pas si c'est la même traduction.
    • [^] # Re: Release notes

      Posté par  . Évalué à 1.

      Par contre, je ne sais pas si c'est la même traduction.

      Sur php.net, phpindex.com, phpinfo.net, manucorp.com ont la meme traduction. J'ai ecrit rapidement cette traduction juste apres l'annonce officiel.

      Cette mise a jour est relativement importante d'ou la traduction.

      Quand a la compatibilite descente, elle est amha quasi totale. Comme precise dans l'annonce, l'utilisation des differentes variables HTTP_xxxx_VARS fonctionnent toujours, pour les malheureux inconcients qui utilisent REGISTER_GLOBALS, il suffit de l'activer dans le php.ini et tout devrait baigner dans l'huile (a part le fait d'utiliser cette fonctionnalite ;) ).

      Ai teste l'ensemble de mes libs et applis et foncitonnent a merveille sous la 4.1.0 sans avoir changer une ligne de code.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.