Publié dans Logiciel

15

PHP 8.0 disponible : de grosses améliorations pour le langage

PHP 8.0 disponible : de grosses améliorations pour le langage

La nouvelle version de PHP est clairement majeure. Les nouveautés y sont particulièrement nombreuses, et beaucoup sont importantes.

Par exemple, PHP 8.0 propose des nouveaux compilateurs JIT (Just In Time, compilation à la volée). L’un des deux, Tracing JIT, se veut particulièrement prometteur, avec « environ trois fois plus de performances sur des benchmarks synthétiques et 1,5 à 2 fois plus de performances sur certaines applications à longue durée d'exécution ».

Parmi les autres améliorations, on note : 

  • Les arguments nommés (on ne spécifie que les paramètres requis), indépendants et auto-documentés
  • Des métadonnées structurées avec la syntaxe PHP pour les attributs
  • La promotion des propriétés des constructeurs
  • Les types d’unions, permettant d’utiliser les déclarations de types d’union native, validées à l’exécution
  • L’expression Match, qui réalise des comparaisons strictes, le résultat pouvant être enregistré dans une variable ou retourné
  • Nullsafe, opérateur autorisant les chaines d’appels à la place des vérifications conditionnelles de null. Si l’un des éléments échoue, l’exécution de la chaine est coupée et cette dernière équivaut à null.
  • Une majorité de fonctions internes renvoient une exception Error si la validation du paramètre échoue
  • Une vérification de type plus sévère pour les opérateurs arithmétiques et bit à bit
  • La possibilité de créer des héritages avec les méthodes privées
  • Un nouveau type mixed
  • Les virgules trainantes sont autorisées dans les listes de paramètres et listes des use d'une fermeture
  • L’ajout de catchs non capturants
  • La possibilité d’utiliser ::class sur les objets

La liste complète des nouveautés peut être consultée depuis l’annonce officielle.

15

Tiens, en parlant de ça :

Windows en 2024 : beaucoup d’IA, mais pas forcément un « 12 »

Technique contre marketing

17:36 Soft 6
Einstein avec des qubits en arrière plan

Informatique quantique, qubits : avez-vous les bases ?

Q-Doliprane sur demande

16:10 HardScience 6
Notifications iPhone

Surveillance des notifications : un sénateur américain demande la fin du secret

De qui ? Quand ? Comment ?

12:00 DroitSécu 13

Windows en 2024 : beaucoup d’IA, mais pas forcément un « 12 »

Soft 6
Einstein avec des qubits en arrière plan

Informatique quantique, qubits : avez-vous les bases ?

HardScience 6
Notifications iPhone

Surveillance des notifications : un sénateur américain demande la fin du secret

DroitSécu 13

En ligne, les promos foireuses restent d’actualité

DroitWeb 16

#LeBrief : modalité des amendes RGPD, cyberattaque agricole, hallucinations d’Amazon Q, 25 ans d’ISS

Logo Twitch

Citant des « coûts prohibitifs », Twitch quitte la Corée du Sud

ÉcoWeb 26
Formation aux cryptomonnaies par Binance à Pôle Emploi

Binance fait son marketing pendant des formations sur la blockchain destinées aux chômeurs

Éco 8
Consommation électrique du CERN

L’empreinte écologique CERN en 2022 : 1 215 GWh, 184 173 teqCO₂, 3 234 Ml…

Science 6
station électrique pour voitures

Voitures électriques : dans la jungle, terrible jungle, des bornes de recharge publiques

Société 71

#LeBrief : intelligence artificielle à tous les étages, fichier biométrique EURODAC

KDE Plasma 6

KDE Plasma 6 a sa première bêta, le tour des nouveautés

Soft 13
Un homme noir regarde la caméra. Sur son visage, des traits blancs suggèrent un traitement algorithmique.

AI Act et reconnaissance faciale : la France interpelée par 45 eurodéputés

DroitSociété 4
Api

La CNIL préconise l’utilisation des API pour le partage de données personnelles entre organismes

SécuSociété 3
Fouet de l’Arcep avec de la fibre

Orange sanctionnée sur la fibre : l’argumentaire de l’opérateur démonté par l’Arcep

DroitWeb 22
Bombes

Israël – Hamas : comment l’IA intensifie les attaques contre Gaza

IA 22

#LeBrief : bande-annonce GTA VI, guerre électronique, Spotify licencie massivement

Poing Dev

Le poing Dev – Round 7

Next 99
Logo de Gaia-X sour la forme d’un arbre, avec la légende : infrastructure de données en forme de réseau

Gaia-X « vit toujours » et « arrive à des étapes très concrètes »

WebSécu 6

Trois consoles portables en quelques semaines

Hard 37
Une tasse estampillée "Keep calm and carry on teaching"

Cyberrésilience : les compromis (provisoires) du trilogue européen

DroitSécu 3

#LeBrief : fuite de tests ADN 23andMe, le milliard pour Android Messages, il y a 30 ans Hubble voyait clair

#Flock a sa propre vision de l’inclusion

Flock 25
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #10 : nous contacter et résumé de la semaine

44
Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

15

Commentaires (15)


Furanku Abonné
Hier à 09h35

Que du bon !
Et certains iront encore dire que faire du PHP en 2020 c’est être has been :D



Le langage évolue dans le bon sens, même si les débats ont été pas mal animé sur certaines RFC de la 8.0.


regaber
Hier à 12h24

J’ai souvenir d’un tweet où quelqu’un de Hey, le service mail de Basecamp, détaillait leur stack technique.
On aurait pu s’attendre à de la techno bleeding edge, du node, du graphql, de la jamstack dans tous les sens, et au final c’était sql, php, html, css et un peu de JS :mdr:


BlackYeLL Abonné
Hier à 09h42

Hâte de migrer notre codebase en Php 8 ^^



Il y a des ajouts majeurs vraiment intéressants :)


jotak Abonné
Hier à 15h27

Pour quelqu’un qui n’a pas fait de php depuis 10 ans, j’avoue, ça donnerait presque envie de réessayer.
Au final ça va toujours dans le sens d’une convergence entre tous les langages*.



[*: à part go]


Furanku Abonné
Hier à 23h19

Entre les langages qui font le web surtout. Mais chacun garde quand même ses spécificités et ses qualités (et défauts). La convergence, s’il y en a une, est surtout au niveau de certaines syntaxes (les langages s’inspirent les uns des autres) :)



Le Nullsafe est clairement inspiré de Typescript par exemple.



Y a pas moyen de forcer la version avec leur fichier de config à la racine du FTP pour la 7.4 ?


jotak Abonné
Hier à 07h15

Furanku

Entre les langages qui font le web surtout. Mais chacun garde quand même ses spécificités et ses qualités (et défauts). La convergence, s’il y en a une, est surtout au niveau de certaines syntaxes (les langages s’inspirent les uns des autres) :)

Le Nullsafe est clairement inspiré de Typescript par exemple.

Y a pas moyen de forcer la version avec leur fichier de config à la racine du FTP pour la 7.4 ?

Le nullsafe s’est aussi vu dans des languages backend comme kotlin, c#, ruby etc., avant que ça n’apparaisse dans TypeScript. Et on pourrait même dire que le concept derrière cette syntaxe vient de languages fonctionnels comme haskell (la monade “maybe”). Du coup non je ne trouve pas que ce soit surtout les langages du web qui convergent 🙃
(Je parle bien purement du langage, pas de leur application au runtime)


plop97
Hier à 07h49

jotak

Le nullsafe s’est aussi vu dans des languages backend comme kotlin, c#, ruby etc., avant que ça n’apparaisse dans TypeScript. Et on pourrait même dire que le concept derrière cette syntaxe vient de languages fonctionnels comme haskell (la monade “maybe”). Du coup non je ne trouve pas que ce soit surtout les langages du web qui convergent 🙃 (Je parle bien purement du langage, pas de leur application au runtime)

Kotlin a une séparation stricte en type nullable et non-nullable. C’est bien plus avancé que là où ça semble être juste un opérateur


Furanku Abonné
Hier à 13h12

jotak

Le nullsafe s’est aussi vu dans des languages backend comme kotlin, c#, ruby etc., avant que ça n’apparaisse dans TypeScript. Et on pourrait même dire que le concept derrière cette syntaxe vient de languages fonctionnels comme haskell (la monade “maybe”). Du coup non je ne trouve pas que ce soit surtout les langages du web qui convergent 🙃 (Je parle bien purement du langage, pas de leur application au runtime)

Sur ces langages là je ne peux pas dire donc je te crois volontiers 😁


anonyme_ba2e6721535c3d2d43e1987e55274080
Hier à 21h38

Furanku

Entre les langages qui font le web surtout. Mais chacun garde quand même ses spécificités et ses qualités (et défauts). La convergence, s’il y en a une, est surtout au niveau de certaines syntaxes (les langages s’inspirent les uns des autres) :)

Le Nullsafe est clairement inspiré de Typescript par exemple.

Y a pas moyen de forcer la version avec leur fichier de config à la racine du FTP pour la 7.4 ?

Si on a pas de tâches cron on peut, mais sinon ça les fait planter. (forcer la 7.4 sur ovh)


anonyme_ba2e6721535c3d2d43e1987e55274080
Hier à 22h20

Dommage qu’OVH n’est déjà pas passé à PHP 7.4, alors il faudra attendre 10 ans pour qu’OVH installe la version 8 sur les serveurs mutualisés… typique du made in france…


Albirew Abonné
Hier à 03h52

y’a desq incompatibilités entre 7.4 et 8.0 ou je peux upgrade à la rache les yeux fermés?


gg40 Abonné
Hier à 17h41

Albirew a dit:


y’a desq incompatibilités entre 7.4 et 8.0 ou je peux upgrade à la rache les yeux fermés?




:mdr2: :mdr2: pas moyen


brazomyna
Hier à 01h05

Furanku a dit:


certains iront encore dire que faire du PHP en 2020 c’est être has been :D




A peu près tous les devis js/ts.
Et ils ont raison :fumer:


jotak Abonné
Hier à 05h39

En fait, ceux qui subissent le javascript-bashing compensent avec du php-bashing, c’est ça ? 🤔 😅


Twiz
Hier à 22h52

Je fais du PHP et je dois avouer que je n’ai pas tout compris, est-ce que vous avez des exemples plus concrets svp ?