Outre les habituelles corrections de bugs (environ 400 !), les nouveautés du moteur Zend2 devrait permettre d'obtenir encore de meilleures performances grâce entre autre à une gestion plus fine de la mémoire. Le ChangeLog nous apprend aussi que beaucoup de modules ont été mis à jour dont MySQLi, PostgreSQL, le module de manipulation des tableaux, SOAP ou encore SPL (Standard PHP Library).
Autre grosse nouveauté de PHP 5.1 est (enfin!) l'introduction d'une nouvelle interface objet appelée PDO (PHP Data Object) permettant d'accéder de manière unifiée aux systèmes de bases de données les plus utilisés avec PHP (MySQL, PostgreSQL, SQLServer, Firebird, Sybase, SQLite, DB2, ODBC) sans avoir à passer par des classes d'abstraction écrites en PHP tel que PearDB ou AdoDB.
Mise à jour : Une version 5.1.1 est déjà disponible. Pas de grandes nouveautés à part quelques correctifs d'anomalies et de régressions, ainsi que la suppression de la classe native Date pour ne pas rentrer en conflit avec le paquet PEAR du même nom. Il est fortement recommandé de migrer rapidement en 5.1.1. Merci à J.Smith pour l'information PHP est un langage interprété créé en 1994 par Rasmus Lerdörf. Il s'agissait à l'origine d'une collection de fonctions écrites en Perl pour savoir qui venait visiter son CV. Au fur et à mesure, Rasmus Lerdörf se mit à écrire le premier vrai moteur PHP en langage C qu'il publia en 1995 sous le nom PHP/FI. À l'époque PHP/FI signifiait Personal Homepage Page/Form Interpreter. Sous l'impulsion d'Andi Gutmans et Zeev Suraski, le moteur fut réécrit et publié en 1997 sous le nom PHP3 signifiant PHP Hypertext Preprocessor. PHP4 est sorti en 2000 suivi par PHP5 l'année dernière qui apporta un grand nombre de nouveautés telles qu'une nouvelle orientation résolument objet ou le support simplifié et amélioré des technologies XML. Alors que cette version vient de sortir, PHP6 est déjà sur les rails avec de nombreuses nouveautés.
On estime qu'un tiers des sites Internet utilise PHP dans le monde et que 46% des sites français l'utiliserait (Source : Livre blanc de l'AFUP).
Aller plus loin
- PHP.net (2 clics)
- ChangeLog (1 clic)
- Téléchargement (6 clics)
- Documentation en français (3 clics)
- Association Française des Utilisateurs de PHP (2 clics)
- Nouvelles fonctionnalités du futur PHP6 (3 clics)
# Bonne et mauvaise nouvelle
Posté par DPhil (site web personnel) . Évalué à 6.
Une bonne nouvelle car on a enfin une interface unifiée d'accès au SGBD intégrée dans PHP.
Une mauvaise car PDO est loin d'être complet et quasiment inutilisable dans des projets conséquents, c'est dommage que ce soit PDO qui ait été retenu alors qu'il y avait pléthore de projets bien lus avancés.
[^] # Re: Bonne et mauvaise nouvelle
Posté par Dinofly (site web personnel) . Évalué à 4.
J'ai beaucoup aimé la présentation de PDO au forum PHP 2005 alors s'il y a mieux ça m'intéresse :-)
[^] # Re: Bonne et mauvaise nouvelle
Posté par DPhil (site web personnel) . Évalué à 6.
Avec PDO, on a très peu d'accès au meta données, ce qui oblige à les récupérer d'une autre façon ( façon qui est souvent dépendante du SGBD, on perd donc l'abstraction )
Les objets retournés avec PDO sont des objet standards ( comme avec mysql_fetch_object ), ça ne fait pas vraiment avancer le schmilblik en terme de programmation objet.
Un binding avec libgda ( gnome-db ) aurait été à mon avis plus opportun.
Maintenant, ça reste quand même une bonne chose qu'on ait une interface intégrée et objet de surcroit pour l'accès aux SGBD.
[^] # Re: Bonne et mauvaise nouvelle
Posté par madko (site web personnel) . Évalué à 2.
Si PDO ne fait pas grand chose il a peut etre l'avantage d'etre rapide tout en apportant une certaine abstraction. Mais bon ça reste a voir on va attendre quelques benchmarks
[^] # Re: Bonne et mauvaise nouvelle
Posté par Éric (site web personnel) . Évalué à 4.
Les buts d'ADODB ou DBDO ne sont pas les mêmes.
- ADODB est une abstraction de base de données
- DBDO est un mapping objet-relationel
- PDO est une API unifiée
On ne demande pas à PDO de pouvoir avoir une instruction unique pour mysql et oracle (le but d'adodb), on lui demande juste que l'instruction soit à passer de la même façon.
Ne pas être aller plus loin pour fournir un minimum d'abstraction est à mon avis une erreur mais c'est un choix qui se défend tout à fait.
> Un binding avec libgda ( gnome-db ) aurait été à mon avis plus opportun.
Là dessus on est d'accord. Il me semble que quelqu'un a commencé à travailler la dessus. Par contre j'ai cru comprendre que ça ne deviendrai jamais une solution poussée par PHP à cause du nombre de dépendances et de leur portage sur tous les systèmes où tourne PHP.
# Interprété ou compilé ?
Posté par Ontologia (site web personnel) . Évalué à 2.
Question simple : Le moteur Zend2 compile t-il le code PHP pour de meilleurs performances et sinon pourquoi ne le fait-il pas ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Interprété ou compilé ?
Posté par DPhil (site web personnel) . Évalué à 5.
Par contre, le script doit être recompilé à chaque exécution à moins d'utiliser un cache d'op-code ( le code produit par la compilation ).
[^] # Re: Interprété ou compilé ?
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 10.
- parce que la société Zend, qui est à l'origine du moteur, vend ce système de cache d'op-code (non libre), c'est pourquoi elle ne l'a pas inclus directement dans zend (ba oui, faut bien qu'ils bouffent les developpeurs de zend ;-) ). Du coup, il y a eu d'autres projets de système de cache qui ont été crée, libres.
- il y en aura un fourni nativement dans PHP6 normalement.
[^] # Re: Interprété ou compilé ?
Posté par Alexandre DATH (site web personnel) . Évalué à 6.
http://zend.com/store/products/zend-optimizer.php
[^] # Re: Interprété ou compilé ?
Posté par swix . Évalué à 5.
Le produit le plus utile (et couteux) est la Zend Platform (avant: Zend Accelerator). Et en moins couteux, il y a eAccelerator qui fonctionne très bien ( http://www.eaccelerator.net/ )
[^] # Re: Interprété ou compilé ?
Posté par skuld . Évalué à 1.
Merci pour l'URL. Le pire, c'est que ça marche ce truc.
[^] # Re: Interprété ou compilé ?
Posté par swix . Évalué à 2.
[^] # Re: Interprété ou compilé ?
Posté par PierreJ . Évalué à 1.
ps: desole pour les accents, pas de clavier francais...
[^] # Re: Interprété ou compilé ?
Posté par Encolpe DEGOUTE (site web personnel) . Évalué à -4.
[^] # Re: Interprété ou compilé ?
Posté par Loïc Ibanez . Évalué à -3.
Exaspéré par les performances de J2EE et les carences de PHP dès qu'il faut développer des applications complexes (ou alors il faut piocher dans une multitude de librairies plus ou moins abouties), je fais partie de ceux qui pensent que Zope a les atouts pour mettre tout le monde d'accord.
Il suffit de quelques minutes d'utilisation pour constater qu'une application sous Zope va vite, vraiment vite...
[^] # Re: Interprété ou compilé ?
Posté par Stéphane Traumat (site web personnel) . Évalué à -1.
Et quand à Zope, je n'ai pas vraimetn vu l'équivalent des choses que j'aime dans Java/J2EE (JSF, Hibernate, Spring, Eclipse, JMS, JDBC...)
http://about.me/straumat
[^] # Re: Interprété ou compilé ?
Posté par Nicolas (site web personnel) . Évalué à 0.
p.s: Et mince j'ai marché dedans. Je suis déjà dehors.
[^] # Re: Interprété ou compilé ?
Posté par Stéphane Traumat (site web personnel) . Évalué à -2.
J'oublais JTA qui est une des choses que j'adore chez J2EE :)
http://about.me/straumat
[^] # Re: Interprété ou compilé ?
Posté par Loïc Ibanez . Évalué à 1.
[^] # Re: Interprété ou compilé ?
Posté par Stéphane Traumat (site web personnel) . Évalué à 0.
Je trouve que des sites comme l'ANPE ou http://java.sun.com/ qui tournent sur une platefome Java tournent hyper bien.
http://about.me/straumat
[^] # Re: Interprété ou compilé ?
Posté par Loïc Ibanez . Évalué à 0.
[^] # Re: Interprété ou compilé ?
Posté par Cyril PIERRE de GEYER (site web personnel) . Évalué à -1.
En même temps vu que le site de l'ANPE est fait en partie avec PHP c'est normal que ca tourne bien ;)
http://solutions.journaldunet.com/0504/050422_anpe_spip_agor(...)
[^] # Re: Interprété ou compilé ?
Posté par Stéphane Traumat (site web personnel) . Évalué à -1.
Pour plus d'infos : http://www.sopragroup.com/templates/page.php?lang_code=FR&am(...)
On apprend quand même qu'il y a 180 000 connexions par jour, plus de 16 000 sessions simultanées aux heures de pointe :) C'est pas mal.
http://about.me/straumat
[^] # Re: Interprété ou compilé ?
Posté par Cyril PIERRE de GEYER (site web personnel) . Évalué à 3.
C'est pas mal c'est vrai.
Maintenant si on regarde du coté de alltheweb qui supporte 9 million de pages vues et pres de 30 millions de requêtes par jour on est sur une autre planète.
Une autre planette servie par ... JAVA ? non non PHP !
http://www.zend.com/store/products/cache-case-study.php
Ceci dit ça ne sert a rien de denigrer/rabaisser les autres technos libre, on devrait plutôt faire front commun.
Amicalement,
Cyril
[^] # Re: Interprété ou compilé ?
Posté par Ontologia (site web personnel) . Évalué à 2.
ok, je --->[]
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Interprété ou compilé ?
Posté par Gmooron . Évalué à 4.
56k ou pas 56k, ça change quoi au temps de génération de la page ?
Rien
[^] # Re: Interprété ou compilé ?
Posté par Loïc Ibanez . Évalué à 3.
[^] # Re: Interprété ou compilé ?
Posté par Stéphane Traumat (site web personnel) . Évalué à 3.
http://about.me/straumat
[^] # Re: Interprété ou compilé ?
Posté par Loïc Ibanez . Évalué à 1.
[^] # Re: Interprété ou compilé ?
Posté par Julien . Évalué à 2.
Tu rigoles la j'espère ... ?
# Ptite correction orthographique
Posté par Jean-Marc Leroy . Évalué à 5.
les nouveautés du moteur Zend2 devraient permettre d'obtenir d'encore de meilleures performances grâce entre autres à une gestion plus fine de la mémoire.
(...)
PHP est un langage interprété créé en 1994 par Rasmus Lerdorf. (...) le moteur fut réécrit et publié en 1997 sous le nom PHP3 signifiant PHP Hypertext Preprocessor. PHP4 est sorti en 2000 (...) un grand nombre de nouveautés telles qu'une nouvelle orientation résolument objet ou le support simplifié et amélioré des technologies XML. (...)
[^] # Pendant qu'on y est
Posté par Philip Marlowe . Évalué à 10.
les nouveautés du moteur Zend2 devraient permettre d'obtenir d'encore de meilleures performances
ou
des performances encore meilleures, ça sonne même mieux.
# PHP6
Posté par jml . Évalué à 2.
En particulier le tant attendu support unicode natif (autrement urgent que le support des objets, mais c'est un avis perso).
Et ça, c'est vraiment une bonne nouvelle qu'on attendait depuis longtemps :-D
Non pas que le support unicode natif, ce soit un truc qui se fait tout seul (et je parle pas des problèmes de perfs qu'ils auront à résoudre).
# Date, je casse tout #2
Posté par PierreJ . Évalué à 8.
Cela risque de poser problemes a beacoup de monde, une 5.1.1 est envisigee, dans les 2-3 jours.
[^] # Re: Date, je casse tout #2
Posté par PierreJ . Évalué à 3.
La nouvelle "classe" Date a ete supprimee et quelques bugs importants.
Voir le fichier NEWS pour les impatients:
http://cvs.php.net/co.php/php-src/NEWS?r=1.2027.2.234
[^] # Re: Date, je casse tout #2
Posté par Pierre Tramonson . Évalué à 1.
[^] # Re: Date, je casse tout #2
Posté par Éric (site web personnel) . Évalué à 4.
Grosso modo on parle bien d'un nouveau code, non fini, qui est contesté publiquement par certains (principalement par paj qui poste plus haut), dont n avait dit qu'il ne serait pas intégré, et qui a été ajouté sans annonce publique dans la dernière RC (rc6) qui a précédé d'une petite semaine la release publique.
Pour l'anecdote le release master a même donné sa conclusion en sous entendant fortement que les problèmes survenus suite à cet ajout ont pour cause un manque de test de la rc6 de la part des détracteurs (et pas de l'ajout de dernière minute)
Malheureusement ce n'est pas chose si rare. Des trucs énormes comme ça on en a vu plein dans PHP. Grosso modo tant que ça plait à la dizaine de personnes qui chapottent PHP, ça passe. Que ce soit testé, complet, intelligent, réfléchi, contesté ou pas n'influe que très peu.
# Et Oracle ??
Posté par Yves Martin . Évalué à 2.
Alors quand je vois que même PHP 5.1 fournit une API qui ignore Oracle (pas dans la liste présentée en tout cas), je me dis que je ne suis pas au boût de mes peines.
Bien sûr si quelqu'un a réussi à compiler PHP 4.3.10-15 Debian Sarge 3.1 avec le support OCI8 (classique ou instant client), je suis preneur de la solution. Merci d'avance.
[^] # Re: Et Oracle ??
Posté par PierreJ . Évalué à 2.
Il y a eut bcp de travail fait pour le support Oracle,
http://pecl.php.net/package/PDO_OCI
et
http://pecl.php.net/package/oci8
Par contre tu peux commencer a oublier php4...
[^] # Re: Et Oracle ??
Posté par PierreJ . Évalué à 5.
Si tu as des problemes ou des requetes, je te suggere de poster sur la liste pecl-dev de php, les auteurs Antony et Wez sont tres reactifs.
[^] # Re: Et Oracle ??
Posté par Yves Martin . Évalué à 1.
# "PHP6 est déjà sur les rails"
Posté par Jean-Marc (site web personnel) . Évalué à 7.
# upload progress monitor
Posté par ccomb (site web personnel) . Évalué à 1.
C'est dommage de ne toujours pas intégrer un truc comme http://pdoru.from.ro . Surtout pour beaucoup de projets qui permettent d'uploader des fichiers, mais pas de savoir le temps que ça prend ni l'avancement.
[^] # Re: upload progress monitor
Posté par Mildred (site web personnel) . Évalué à 8.
Car lui, il sait tout du fichier envoyé ... non ?
[^] # Re: upload progress monitor
Posté par BAud (site web personnel) . Évalué à 3.
:-p /o\
http://swpat.ffii.org/pikta/txt/ep/0394/160/
[^] # Re: upload progress monitor
Posté par Ymage . Évalué à 2.
Donc même si un jour PHP proposait une solution, ce serait forcément un détournement du fonctionnement du protocole.
La solution dont tu parles n'est d'ailleurs rien d'autre qu'une bidouille. Je ne suis pas partisan de l'intégration de ce type de bidouille au sein de PHP ni même d'un autre langage.
Rien ne t'empêche d'utiliser Ajax pour trouver une solution.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.