PHP 7.3.0 est disponible en version alpha 1 et intègre de nouvelles fonctionnalités,
Plusieurs bogues ont également été corrigés

Le , par Bill Fassinou, Chroniqueur Actualités

PHP serait le langage de programmation web côté serveur le plus utilisé au monde. Selon un rapport de la W3Techs de 2017, plus de 80 % des sites et applications web l'utilisent. C'est un langage de script populaire assez flexible et pragmatique. Depuis la sortie de la première version en 1994, bien d'autres versions ont vu le jour. Et à l'instar de tous les autres langages, il évolue et apporte régulièrement de nouvelles fonctionnalités et des corrections de bogues. Sa dernière version stable, la 7.2.6, est sortie le 25 mai 2018. Et maintenant, PHP annonce la disponibilité de sa version 7.3.0 alpha 1 depuis le 7 juin 2018. Bien que cette préversion de test ne peut pas être utilisée en production, les développeurs PHP peuvent déjà la tester et reporter les bogues et améliorations qu'ils souhaitent avoir pour la prochaine version stable dont la sortie est prévue pour la fin de l'année 2018.

Après la sortie de cette première préversion de test, les développeurs de PHP prévoient la sortie de trois versions alpha et trois versions bêta vers mi-août 2018 puis six versions admissibles (pre-release), la RC, qui sortiront à chaque deux semaines. Après cela, la version stable 7.3.0 pourra être disponible le 29 novembre 2018 selon le calendrier établi. Déjà dans cette préversion de test 7.3.0 alpha 1, de nouvelles fonctionnalités sont à noter. Dans le core, la fonction net_get_interfaces() est disponible pour permettre de lister les cartes réseau disponibles dans le système d'exploitation. Une nouvelle méthode a été ajoutée à la classe Date : DateTime::createFromImmutable(). Le drapeau JSON_THROW_ON_ERROR a été ajouté à JSON. Pour SQLite3, libsqlite a été mis à jour vers la version 3.24.0. La fonction openssl_pkey_derive a été ajoutée pour OpenSSL.

Plusieurs bogues ont également été corrigés et parmi eux nous avons notamment :
  • #75683 (manque de mémoire dans zend_register_functions() en mode ZTS) ;
  • #74860 (les exceptions non interceptées ne sont pas formatées correctement lorsque error_log est défini sur syslog) ;
  • #53033 (les opérations mathématiques convertissent les objets en entier) ;
  • #75765 (erreur fatale au lieu de l'exception erreur lorsque la classe parente n'est pas trouvée) ;
  • #74941 (la session ne démarre pas après l'envoi des headers).


Téléchargez PHP 7.3.0 alpha 1

Sources : php-src, PHP

Et vous ?

Avez-vous déjà testé cette préversion de test ?
Quelles sont vos remarques et suggestions observées ?
Quelles nouvelles fonctionnalités ou améliorations souhaiteriez-vous pour la prochaine version stable de PHP ?

Voir aussi

Quels sont les mots les plus utilisés dans les langages JavaScript, CSS, HTML, PHP, Ruby, C++, C#, Scala, Go, Python, Perl, Java, Perl, Lua et SQL ?

Club des développeurs Web PHP : actualités, cours, tutoriels

PHP 7.2 est disponible en version stable avec la bibliothèque de cryptographie Sodium et d'autres améliorations et nouvelles fonctionnalités


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


 Poster une réponse Signaler un problème

Avatar de stailer stailer - Membre chevronné https://www.developpez.com
le 10/06/2018 à 12:21
Si on prend uniquement le cadre des applications webs (en excluant donc les sites internet) et qu'on "oublie" les vieux projets des années 90, je ne pense pas que PHP soit largement 1er en dév d'applications. Du moins je serais curieux d'avoir des stats détaillées. Et s'il est 1er tant mieux car il mon langage préféré après c#

L'évolution des perfs est un vrai progrès mais d'une manière générale, là ou d'autres langages progressent dans leur structure régulièrement (C#, Java...), en 5 ans on ne peut quasiment rien constater de très nouveau en PHP.
Toujours les même déclarations, toujours pas possible de faire des attributs de classe/méthodes (si ce n'est en trichant via les commentaires), toujours pas de classes partielles (il y a les "trait" mais c'est pas tout à fait pareil), pas de possibilités de faire des génériques (MonObjet.MaMéthode<T> etc...

"Quelles nouvelles fonctionnalités ou améliorations souhaiteriez-vous pour la prochaine version stable de PHP ?"

Du vrai typage !!! même si on peut pas le faire dans des variables locales, au moins que l'on puisse le faire dans des propriétés !! que ceci se termine une bonne fois pour toute :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
class MaClasse
{
    public $nom;
    public $age;
    public $isValid;
    public $date_creation;
}
et remplacé par :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
class MaClasse
{
    public string $nom;
    public int $age;
    public bool $isValid;
    public DateTime $date_creation;
}
Et surtout pouvoir typer avec diverses classes. On pourrait imaginer tout simplement :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class UnePersonne
{
    public string $nom;
    public int $age;
    public bool $isValid;
    public DateTime $date_creation;
}

class MaClasse
{
    public UnePersonne[] $desPersonnes; // pour un tableau
    public UnePersonne $unePersonne; // pour une objet unique
}

Pour moi cette fonctionnalité devrait être la priorité principale et elle ouvrira de nombreuses possibilités d'améliorations derrière.
Avatar de Zefling Zefling - Membre expert https://www.developpez.com
le 10/06/2018 à 17:21
Citation Envoyé par stailer Voir le message
Si on prend uniquement le cadre des applications webs (en excluant donc les sites internet) et qu'on "oublie" les vieux projets des années 90, je ne pense pas que PHP soit largement 1er en dév d'applications. Du moins je serais curieux d'avoir des stats détaillées. Et s'il est 1er tant mieux car il mon langage préféré après c#
Ce qui n'est pas dit, c'est qu'il est premier car la majorité des sites sur le Web sont des Wordpress et on peut même mettre des CMS le plus populaire.
Avatar de Mrsky Mrsky - Membre éprouvé https://www.developpez.com
le 10/06/2018 à 23:36
Le problème avec PHP c'est que c'est un langage de niche, dont la niche tend à disparaître. L'age du PHP+HTML spaghetti est terminé (enfin!), et PHP sert aujourd'hui de backend pour des API ou utilise des systèmes de templates comme Twig ou Blade pour le rendu. PHP se retrouve donc à combattre dans une catégorie purement backend, et même si c'est un langage mature il se retrouve face à Python et Javascript coté scripting et C# et Java coté code compilé. Or la question qui se pose pour les nouveaux devs ou pour ceux qui arrivent dans le web, c'est quel langage choisir, et c'est là que le bat blesse pour PHP car tous les autres langages ont des applications bien plus larges.
Avatar de Zefling Zefling - Membre expert https://www.developpez.com
le 10/06/2018 à 23:56
Citation Envoyé par Mrsky Voir le message
Le problème avec PHP c'est que c'est un langage de niche, dont la niche tend à disparaître. L'age du PHP+HTML spaghetti est terminé (enfin!), et PHP sert aujourd'hui de backend pour des API ou utilise des systèmes de templates comme Twig ou Blade pour le rendu. PHP se retrouve donc à combattre dans une catégorie purement backend, et même si c'est un langage mature il se retrouve face à Python et Javascript coté scripting et C# et Java coté code compilé. Or la question qui se pose pour les nouveaux devs ou pour ceux qui arrivent dans le web, c'est quel langage choisir, et c'est là que le bat blesse pour PHP car tous les autres langages ont des applications bien plus larges.
Déjà que l'on ne puissent pas faire de websockets de façon simple est un problème pour moi. À l'heure de webapp avec un back en rest, PHP a de sacrés handicapes. Si j'avais à refaire mon site, je pense qu'aujourd'hui je passerais sûrement pas autre chose. Pourtant j'aime bien PHP pour certains aspects qui le rende plus simple que d'autres langages sans passer par une foule de bibliothèques qui rend le tout hyper lourd. Mais au fil du temps, c'est de moins en moins vrai. Aujourd'hui peut-être que je ferais plus mon back avec autre chose.
Avatar de stailer stailer - Membre chevronné https://www.developpez.com
le 11/06/2018 à 6:13
Déjà que l'on ne puissent pas faire de websockets de façon simple est un problème pour moi.
J'ai testé ceci : http://socketo.me/ et ça va, c'est pas trop compliqué et ça marche pas mal... On est loin de SignalR en C# par exemple mais bon, ça fait le job
Avatar de rawsrc rawsrc - Modérateur https://www.developpez.com
le 11/06/2018 à 9:22
Je suis plutôt d'accord avec vous tous, si PHP n'est pas plus ambitieux dans ses évolutions technologiques, je crains pour son avenir.
Il faut regarder ce qui se fait à côté pour ne pas décrocher.
Si encore c'était le plus abouti sur sa niche (le web) il serait tout à fait possible de prendre le temps d'évoluer alors que même sur ce domaine, il commence à se faire distancer.

Va falloir sérieusement envisager quelques améliorations (révolution) :
- typage strict déclaratif (pourquoi pas)
- l'asynchrone
- abandon du fonctionnement stateless (vu le volume des traitements actuel, ce fonctionnement est totalement dépassé)
- serveur d'applications léger à la node.js (boost gigantesque des perfs)
- compilateur JIT
- console interactive (pour les étudiants, histoire que PHP soit enseigné dans les écoles)

et je dois encore en oublier
Avatar de stailer stailer - Membre chevronné https://www.developpez.com
le 11/06/2018 à 10:09
Et paradoxalement, des applications comme WordPress et Magento sont en PHP, il n'existe rien d'équivalent dans les autres langages, à ce niveau d'utilisation.

Ma théorie, c'est que PHP possède quand même un bel avantage au niveau du code : l'introspection.

Par exemple, comparé à C#, on peut utiliser l'introspection beaucoup plus facilement et fabriquer ses propres frameworks/librairies sans trop se casser la tête.
Quand j'ai développé la partie Route et Contrôleur d'un framework en 2006, pour mon entreprise de l'époque, j'ai fait un truc utilisable en 2 semaines à peu près et je n'avais pas toute l'expérience d'aujourd'hui...

Si je devais faire un framework MVC en C# je serais confronté à bien d'autres problèmes. J'y arriverai certainement aussi mais avec plus de temps et un niveau demandé plus élevé. A mon avis PHP a là un bel avantage, que l'on peut retrouver également dans Javascript.

Mais je suis d'accord, ce n'est plus suffisant pour les années à venir...
Avatar de rawsrc rawsrc - Modérateur https://www.developpez.com
le 11/06/2018 à 10:28
et puis j'ai oublié :
vu que PHP a atteint maintenant les 20 ans bien tassés, je pense qu'il ne serait pas aberrant de proposer une version de PHP qui casserait la rétrocompatibilité pour cause de nouvelles fonctionnalités génialissimes.
Bref, il faut préparer les 20 prochaines années et c'est pas en traînant une archi vieille d'il y a 20 ans que ça va se faire. Tu m'entends PHP Core Team ;-)
Avatar de strato35 strato35 - Membre régulier https://www.developpez.com
le 11/06/2018 à 13:18
Du vrai typage !!! même si on peut pas le faire dans des variables locales, au moins que l'on puisse le faire dans des propriétés !! que ceci se termine une bonne fois pour toute :
+1

Perso PHP est mon langage de travail donc mon préféré, suivis de près par c# et js.
Ca serais bien qu'ils mettent un typage "facultatif" un peu comme le fait c# avec le mot clé "var" où l'on est pas obligé de typer si le type peut-être déterminé par l'assignation immédiate.
Mais bon avec les histoires de rétro compatibilité tous ça tous ça par sûr que ce soit aussi simple...

Et pour travailler régulièrement dessus, du typage pour wordpress ça n'aurai pas été du luxe... j'ai pas assez creusé dedans pour critiquer le code du cœur de wordpress, mais pour avoir travaillé sur des thèmes / modules créés par d'ancien presta, avec un peu d'obligation de propreté du code j'y aurai laissé moins de neurones (et de nerfs...) dans la compréhension du code...
Avatar de Mrsky Mrsky - Membre éprouvé https://www.developpez.com
le 11/06/2018 à 23:44
Pour le fonctionnement stateless de PHP je ne suis pas convaincu que ce soit un mal. Partir de "zéro" à chaque requête possède certains avantages niveau sécurité et stabilité des serveurs, ainsi que dans le cycle de développement. La force de PHP c'est d'être un langage solide et à l'épreuve du temps, c'est la facilité de développement, de test, et de déploiement qui permet une forte capacité d'adaptation et d'innovation. Je pense qu'il faut a tout pris conserver ces atouts, sinon autant faire son appli web avec Java et consorts.

Citation Envoyé par rawsrc Voir le message
et puis j'ai oublié :
vu que PHP a atteint maintenant les 20 ans bien tassés, je pense qu'il ne serait pas aberrant de proposer une version de PHP qui casserait la rétrocompatibilité pour cause de nouvelles fonctionnalités génialissimes.
Bref, il faut préparer les 20 prochaines années et c'est pas en traînant une archi vieille d'il y a 20 ans que ça va se faire. Tu m'entends PHP Core Team ;-)
J'avoue que ce ne serait pas du luxe, pour une version majeure par exemple. En profiter aussi pour standardiser le nom des fonctions, soit tout snake_case soit tout camelCase, créer des alias aux fonctions et déprécier les anciens noms afin de les retirer dans quelques versions.
Contacter le responsable de la rubrique Accueil