IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PHP 8 est disponible et s'accompagne d'optimisations et de nouvelles fonctionnalités, incluant entre autres les arguments nommés,
Les types d'union, l'opérateur nullsafe, la compilation JIT

Le , par Stéphane le calme

264PARTAGES

22  0 

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Mrsky
Membre expérimenté https://www.developpez.com
Le 27/11/2020 à 11:42
Définir les propriétés de classe dans le constructeur me fait un peu mal aux yeux mais je pense que c'est une question d'habitude, dans quelques mois je trouverais la façon de faire actuelle inutilement complexe. J'aime ce nullsafe operator d'un amour pur, tant de lignes de codes vont être éradiquées par ce petit "?" De même le nouveau str_contains() qui fait plaisir niveau lisibilité du code au lieu des strpos() !== false. Je suspecte aussi que match sera très utilisé pour tout ce qui est texte conditionnel (locales par exemple), ce qui nous épargne des switchs infinis qui nécessitent des variables initialisées en amont.

Bref PHP sur la bonne voie, il manque plus qu'un façon simple de faire du server push
4  0 
Avatar de Cryde
Membre du Club https://www.developpez.com
Le 27/11/2020 à 14:51
Citation Envoyé par grunk Voir le message

Et j'avais pas vu , mais PHP se modernise même dans les changelog : https://www.php.net/releases/8.0/fr.php?lang=fr !
C'est des designeurs de Jetbrains qui ont proposé ça pour mieux "communiquer" sur cette nouvelle release.

Citation Envoyé par strato35 Voir le message
J'aurai bien aimé qu'ils rajoutent les génériques ou le cast vers un type objet à la liste :/
Quand dans symfony je type tout mais que j'ai des lignes rouges uniquement car je peux pas préciser que le find hérité de mon répo à un retour de tel type d'objet parce que je ne peux pas le cast ou parce que la méthode ne peux pas faire de return de type T c'est frustrant :/
Ils avaient commencé à le faire mais apparemment c'était trop gourmand niveau perf (https://wiki.php.net/rfc/generics)
3  0 
Avatar de floyer
Membre actif https://www.developpez.com
Le 28/11/2020 à 18:36
Citation Envoyé par xillibit Voir le message
Dans les versions 7.2.x à 7.4.x tu peux déjà utiliser des requêtes préparés pour éviter de faire des injections SQL
D’après https://www.php.net/manual/fr/pdosta....bindvalue.php les requêtes préparées sont accessibles en PHP5.1 et plus... je suis même surpris que cela ne soit pas en version 1 tellement les requêtes préparées me semblent le minimum attendu d’un pilote SGBD.
1  0 
Avatar de floyer
Membre actif https://www.developpez.com
Le 29/11/2020 à 11:33
Il y a 25 ans lorsque je faisais mon premier script Web-cgi, je m’inquiétais pour la sécurité comme je le ferais aujourd’hui. Vu que le script tourne avec des droits serveurs mais utilise des données qui peuvent être quelconques.

Les concepteurs de Perl (version 4 à l’époque) ne s’y sont pas trompés : on avait des variables teintées qui obligeaient le développeur à analyser les chaînes de caractères venant de l’extérieur avant de les utiliser.
1  0 
Avatar de laurentSc
Expert confirmé https://www.developpez.com
Le 26/11/2020 à 23:21
Citation Envoyé par rawsrc Voir le message
si le code n'a pas été pondu par un goret
Ca veut dire, pas par LaurentSc
0  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 27/11/2020 à 8:54
Les promotions d'argument de constructeur j'aime pas.
Les arguments nommé ont plein d'avantage , mais offre aussi la possibilité d'un beau bordel dans le code (genre appeler une fonction avec les arguments jamais dans le même sens) , ca va demander de la rigeur.

Le reste c'est plein de belles évolutions.

Et j'avais pas vu , mais PHP se modernise même dans les changelog : https://www.php.net/releases/8.0/fr.php?lang=fr !
0  0 
Avatar de xillibit
Membre régulier https://www.developpez.com
Le 27/11/2020 à 11:09
Citation Envoyé par djimtolouma Voir le message
Selon moi la nouvelle version de php nous donnera plus de posibilite de pouvoir faire de script sans faille securite dans le developpement avec l'integration du nouveu compilateur est vraiiment genial.J'encourage l'equipe a vraiment mettre a notre disposition le plus rapide cette version.
Dans les versions 7.2.x à 7.4.x tu peux déjà utiliser des requêtes préparés pour éviter de faire des injections SQL

L'opérateur @ ne silence plus les erreurs fatales.
ça dans certains scripts que j'utilise c'est utilisé à la pelle
0  0 
Avatar de strato35
Membre éclairé https://www.developpez.com
Le 27/11/2020 à 11:45
J'aurai bien aimé qu'ils rajoutent les génériques ou le cast vers un type objet à la liste :/
Quand dans symfony je type tout mais que j'ai des lignes rouges uniquement car je peux pas préciser que le find hérité de mon répo à un retour de tel type d'objet parce que je ne peux pas le cast ou parce que la méthode ne peux pas faire de return de type T c'est frustrant :/
0  0 
Avatar de floyer
Membre actif https://www.developpez.com
Le 28/11/2020 à 19:06
Dire que je freinais la migration d’un php7.2 à cause d’incompatibilités de SPIP... mon retard augmente.

On note un warning des php7 récents indiquant que les précédences des . et +/- changent en v8... il vaut mieux mettre des parenthèses !
0  0 
Avatar de valaendra
Membre éclairé https://www.developpez.com
Le 29/11/2020 à 10:12
Citation Envoyé par floyer Voir le message
D’après https://www.php.net/manual/fr/pdosta....bindvalue.php les requêtes préparées sont accessibles en PHP5.1 et plus... je suis même surpris que cela ne soit pas en version 1 tellement les requêtes préparées me semblent le minimum attendu d’un pilote SGBD.
L'approche "sécurité" était bien différente il y a 20 ans Puis PHP a commencé à être populaire à partir de sa version 3. PHP est aujourd'hui loin de son objectif initial : un langage de templating pour le web.

Concernant les attributs déclarés dans le constructeur, ça économise rien du tout et ça rend la lecture de la structure plus difficile (à mon humble avis).

Sinon pas vu dans le changelog (et pas encore testé) toujours pas de typage hors des classes ? (dans le contexte global par exemple...).
0  0