Naissance d'un fork de PHP
Fondé sur la version 5.3.6 du langage et lancé par un développeur allemand

Le , par Thes32, Expert confirmé
Le développeur allemand Robert Eisele vient d’annoncer sur son blog la naissance d'un fork du langage PHP.

Le code source de ce fork, librement disponible sur GitHub, contient plusieurs optimisations et contributions issues de cette même personne (et de son extension Infusion), développées durant les 3 dernières années.

Cette nouvelle suscite beaucoup des réactions au sein de la communauté PHP et relance de plus belle le débat sur les contributions au projet PHP original, où la prise de décision est dominée par une core-team jugée très conservatrice sur la rétrocompatibilité par les voix qui s’élèvent régulièrement pour réprouver ses agissements.

Parmi les contributions les plus notables de ce fork : l'activation de l'UTF-8 par défaut et l'intégration d'une syntaxe courte pour la création des tableaux et tableaux associatifs.

Code : Sélectionner tout
$arr = [1, 2, [5 => "foo", 3.14159], 9];
Ce fork (qui n'a pas encore de nom) offre par ailleurs des possibilités de configurations avancées. Il est possible de définir ou supprimer des constantes et variables globales, de renommer et supprimer des fonctions et classes à partir du fichier php.ini.

Le code source du fork est disponible sur cette page

Et vous ?

Pensez-vous que les fonctionnalités et améliorations de ce fork seront un jour incluses à la branche officielle de PHP ?
Ou, allons-nous assister à la naissance d'un fork indépendant du langage ?
Faut-il d'après vous forker PHP ? Pour quelles raisons ?

Source : Annonce sur le blog de Robert Eisele

Co-écrit avec Idelways


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de berceker united berceker united - Expert confirmé http://www.developpez.com
le 28/06/2011 à 23:37
Citation Envoyé par zoreol  Voir le message
un truc qui me chagrine en php, c'est qu'on sait jamais dans quel ordre viennent les arguments (autrement que par coeur je veux dire).

Par exemple in_array prend l'element qu'on cherche en premier et le tableau en deuxième, strstr prends la chaine en premier et le texte qu'on cherche en deuxième, où est la logique là dedans?

A moins que ce soit moi qui ne comprenne pas, il y a une autre raison? (j'ai pris cet exemple là mais yen a plein !)

Non tu as raison. Il est vrai qu'il y a pas toujours de logique. Je pense qu'il y a eu des développements sans vraiment prendre du recule sur l'ensemble.
Avatar de Code62 Code62 - Membre éclairé http://www.developpez.com
le 29/06/2011 à 12:17
Impossible d'avoir une discussion sur php sans que quelqu'un revienne avec ça

Okay, ça aurait été bien si les paramètres étaient toujours dans le même ordre, mais c'est pas si compliqué de retenir que:
  • les fonctions sur les tableaux prennent d'abord $needle ensuite $haystack
  • les fonctions sur les chaines prennent d'abord $haystack puis $needle



Et en passant: http://phpneeds.orchestra.io/

EDIT: j'ai aucun probleme avec les "-1", mais n'hésitez pas à argumenter si vous pensez que je fais erreur, histoire que je puisse me corriger
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 29/06/2011 à 23:09
Entièrement d'accord avec toi...

Et j'irai encore plus loin : je développe depuis des années en PHP et je me suis jamais aperçu qu'il y avait un truc "bizarre" dans l'ordre des arguments, ni même jamais posé de question.

Pourtant j'ai développé plusieurs librairies et un framework sans aucun souci, en utilisant les tableaux , les objets , la SPL, la reflexion... Et tout ceci en essayant de tirer le plus profit des nouveautés de php (5.3 etc...).

Merci Netbeans ?
Avatar de zoreol zoreol - Membre du Club http://www.developpez.com
le 30/06/2011 à 23:22
Citation Envoyé par Code62  Voir le message
Impossible d'avoir une discussion sur php sans que quelqu'un revienne avec ça

Okay, ça aurait été bien si les paramètres étaient toujours dans le même ordre, mais c'est pas si compliqué de retenir que:
  • les fonctions sur les tableaux prennent d'abord $needle ensuite $haystack
  • les fonctions sur les chaines prennent d'abord $haystack puis $needle



Et en passant: http://phpneeds.orchestra.io/

EDIT: j'ai aucun probleme avec les "-1", mais n'hésitez pas à argumenter si vous pensez que je fais erreur, histoire que je puisse me corriger

C'est pas moi qui t'ai mis de -1 (je tiens à préciser)

Merci pour l'astuce mnémotechnique, je ne m'étais pas rendu compte de cet état de fait.

Seulement même si on prend que les chaînes, on a par exemple:

str_replace qui prend $needle $valeurderemplacement puis $haystack

et substr_replace qui prend $haystack, $valeur de remplacement, puis $position

Ca me pose pas de problème avec eclipse PDT, j'ai l'autocompletion et il m'informe des arguments attendus. Seulement je passe la certification zend php dans une semaine, et c'est pas mal de par coeur, il faut connaître les fonctions et l'ordre dans lequel apparaissent les arguments...
Avatar de Code62 Code62 - Membre éclairé http://www.developpez.com
le 01/07/2011 à 9:15
Citation Envoyé par zoreol  Voir le message
str_replace qui prend $needle $valeurderemplacement puis $haystack

et substr_replace qui prend $haystack, $valeur de remplacement, puis $position

bien vu

plus précisément donc, ce sont les fonctions qui débutent par str_ qui suivent cette règle (et celles qui débutent par array_ pour la regle inverse)

----

Bonne chance pour ta certif
Avatar de zoreol zoreol - Membre du Club http://www.developpez.com
le 02/07/2011 à 18:59
Citation Envoyé par Code62  Voir le message
bien vu

plus précisément donc, ce sont les fonctions qui débutent par str_ qui suivent cette règle (et celles qui débutent par array_ pour la regle inverse)

----

Bonne chance pour ta certif

Merci Oui vu comme ça ça se tient !
Avatar de LEKHEBASSENE LEKHEBASSENE - Membre du Club http://www.developpez.com
le 03/07/2011 à 18:44
La venue d'un fork de PHP n'est pas vraiment la bienvenue à moins qu'il y ai vraiment un problème important avec ce langage et son environnement, ce qui n'est pas à ma connaissance.

Je suspecte une diversion des acteurs antagoniste au mouvement du Logiciel Libre (projet GNU) et Open Source (les 2 étant différents) pour faire diversion et affaiblir les communautés de développeurs impliqués dans ces 2 philosophies et dont celle de PHP.

Un pavé dans la mare ? Un caprice ? Un jeu vicieux ? Un coup de publicité ? Un début de suicide de la communauté PHP ? Une tentative d'assassinat ?

Cela me fait penser au coup très disgracieux de la firme de Redmond (Microsoft) qui avait introduit le Jscript dans ses navigateurs (pour concurrencer Netscape) et qui était une photocopie du Javascript de Netscape.

Ayant travaillé près d'un an avec un manuel de Javascript (celui de Netscape) antérieur à l'apparition de Jscript, durant cette période, j'avais du mal à comprendre pourquoi les scripts fonctionnaient normalement sur les Netscape et mal sur les Internet Exploreur (c'était encore à mon âge bête de développeur).

Conclusion : jongler avec deux langages pour réaliser des scripts compatibles sur les différentes familles de navigateurs, sans compter la complexité de gérer les différentes version de navigateur pour chaque famille, c'est quelque chose d’aberrant, de lourd, peu élégant.

A quoi va ressembler la communauté PHP si il y a un mouvement qui va diverger sur la marchandise de Robert Eisele ? Compte t'il s’arrêter aux uniques modifications qu'il a réalisées sur la syntaxe des tableaux et des optimisations marginales qui à mes yeux ne justifient pas un clone de PHP ? Robert Eisele a t'il effectuer une concertation avec la communauté de développeurs PHP ? Si non alors ce type d'initiative est néfaste, ou je dirais même à boycotter car l'éthique est un problème communautaire, ce n'est pas uniquement une question de liberté d'indépendance.

A quoi va ressembler la communauté PHP si il y a un mouvement qui va diverger sur la marchandise de Robert Eisele ? Compte t'il s’arrêter aux uniques modifications qu'il a réalisées sur la syntaxe des tableaux et des optimisations marginales qui à mes yeux ne justifient pas un clone de PHP ? Robert Eisele a t'il effectuer une concertation avec la communauté de développeurs PHP ? Si non alors ce type d'initiative est néfaste, ou je dirais même à boycotter car l'éthique est un problème communautaire, ce n'est pas uniquement une question de liberté d'indépendance.

Robert Eisele n'aurait-il pas mieux fait de proposer un plugin fonctionnant en coopération avec le moteur ZEND pour pouvoir exploiter ses solutions, et que cela soit intégrer par la suite dans l'API et les docs ?

Je ne sais pas si l'article rend compte véritablement du travail du développeur en question mais s'il était sérieux, s'il fallait vraiment le faire, il aurait dû présenter une alternative plus globale et plus profonde ET SURTOUT CONCERTéE.
Avatar de imdclogic imdclogic - Nouveau Candidat au Club http://www.developpez.com
le 05/07/2011 à 20:06
on aimerais sa un langage de programmation très facile à développer, à administrer et à implémenter ..

le best du best sa serait de réussir à faire fonctionner du PHP sur une machine virtuelle (un peut comme Java) ..

enfin pouvoir développer de vraies applications avec PHP
le meilleur des mondes
Avatar de OPi OPi - Membre actif http://www.developpez.com
le 05/07/2011 à 20:32
Citation Envoyé par imdclogic
le best du best sa serait de réussir à faire fonctionner du PHP sur une machine virtuelle (un peut comme Java) ..

Je crois que ça existe : Quercus, qui semble-t-il (je n'ai pas essayé) compile du PHP en bytecode Java. Il y aussi Phalanger qui compile lui en bytecode CIL. N'ai pas essayé non plus, je tire cela de ma "culture" Wikipédia.

Par contre, je considère toujours que PHP tourne sur une machine virtuelle. Je me répète, sur ce forum et en d'autres endroits : le source PHP est compilé puis le binaire est exécuté par le Zend Engine qui est une machine virtuelle.

Et puis le best du best est clairement ailleurs
Avatar de OPi OPi - Membre actif http://www.developpez.com
le 16/07/2011 à 20:57
Pour étayer ma position précédente disant que PHP tourne sur une machine virtuelle et ma réaction à
Citation Envoyé par gilwath  Voir le message
Y a qu'un seul créateur de php aux dernière nouvelles : Rasmus Lerdorf.

je viens de lire cet article Zend hails PHP for Microsoft, IBM - Interview: Zend cofounder Andi Gutmans also waxes on Java, Oracle, 2006 :
InfoWorld: What is Zend’s role in the development of the PHP scripting language?

Gutmans: We’re contributors to the language and the language implementation itself. So, kind of the JVM [Java Virtual Machine] of PHP is called the Zend Engine, and that was originally developed by [Zend Co-Founder and Chief Technology Officer] Zeev Suraski and myself in 1998.

InfoWorld: Who is the founder of PHP?

Gutmans: Rasmus Lerdorf. He wrote the original version. And then in 1997 we wrote PHP 3. We helped write that. And then the big rewrite came about a year or two later, which was PHP 4 and the Zend Engine.

Avatar de xelab xelab - Membre éprouvé http://www.developpez.com
le 19/07/2011 à 9:39
Citation Envoyé par OPi  Voir le message
Je crois que ça existe : Quercus, qui semble-t-il (je n'ai pas essayé) compile du PHP en bytecode Java. Il y aussi Phalanger qui compile lui en bytecode CIL. N'ai pas essayé non plus, je tire cela de ma "culture" Wikipédia.

Quercus oui ça marche bien mais le problème c'est la gestion des extensions PHP... Je préfère utiliser un Java bridge (celui de Zend ou l'autre indépendant) pour avoir accès à Java depuis PHP.
Offres d'emploi IT
Scrum master H/F
Safran - Ile de France - Osny (95520)
Analyste SI-métier (poste également ouvert aux stagiaires, alternants et VIE du groupe)-(H/F)
Société Générale - Ile de France - Val-de-Marne
Data scientist inspection générale (H/F)
Société Générale - Ile de France - Hauts-de-Seine

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil