Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités
    Avatar de Coriolan
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2016
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2016
    Messages : 700
    Points : 18 792
    Points
    18 792
    Par défaut PHP 7.4.0 est disponible avec de nombreuses améliorations et de nouvelles fonctionnalités
    PHP 7.4 devrait être rendu disponible vers la fin de cette année
    Voici un aperçu des nouveautés qui pourraient y figurer

    PHP est utilisé par 78,9 % des sites de la toile, ce qui en fait l’un des langages de programmation côté serveur les plus utilisés. En décembre 2018, PHP 7.3 a été rendu disponible en version stable, apportant de nouvelles fonctionnalités et améliorations. Un mois plus tard, et des rapports ont déjà commencé à relayer les nouveautés de PHP 7.4, la prochaine itération du langage.

    PHP 7.4 devrait probablement être rendu disponible en décembre 2019. Alors voici quelques nouveautés qui pourraient faire leur apparition dans la nouvelle version :

    Preloading

    PHP a fait de grands progrès en ajoutant de puissantes fonctionnalités au cours des dernières années. Le moteur de PHP (Zend engine 3) a par été largement réécrit pour être beaucoup plus rapide que les versions précédentes. PHP 7.0 a apporté des gains de performance avec un moteur Zend Engine jusqu'à deux fois plus rapide que dans la version 5.6. La version 7.1.0 du langage de développement Web côté serveur a également suivi avec de nouvelles fonctionnalités et encore des gains de performances : jusqu’à 35 % plus rapide pour les charges de travail avec une utilisation intensive du CPU.

    Une nouvelle fonctionnalité devrait améliorer davantage la performance de PHP. Si vous utilisez un framework, ses fichiers doivent être chargés et recompilés pour chaque requête. Le Preloading permet au serveur de charger les fichiers PHP sur la mémoire au démarrage, et les rendre disponibles en permanence pour toutes les requêtes ultérieures. Seul bémol, si la source des fichiers préchargés change, il faudra redémarrer le serveur.

    Typed properties

    Les variables de classe peuvent être indiquées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class A
    {
        public string $name;
     
        public Foo $foo;
    }
    Variation de type améliorée

    Il sera possible d’utiliser des types de retour covariants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class ParentType {}
    class ChildType extends ParentType {}
     
    class A
    {
        public function covariantReturnTypes(): ParentType
        { /* … */ }
    }
     
    class B extends A
    {
        public function covariantReturnTypes(): ChildType
        { /* … */ }
    }
    et des arguments contravariants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class A
    {
        public function contraVariantArguments(ChildType $type)
        { /* … */ }
    }
     
    class B extends A
    {
        public function contraVariantArguments(ParentType $type)
        { /* … */ }
    }
    Cette proposition est actuellement en phase de vote, mais il apparait qu’elle devrait être approuvée sans soucis.

    Foreign Function Interface

    Foreign Function Interface (FFI) permet de faire appel à du code C à partir de l’espace utilisateur (userland). Cela veut dire que les extensions PHP peuvent être écrites en PHP. Cependant, il faudra maitriser C pour utiliser correctement cette fonctionnalité.

    Null Coalescing Assignment Operator

    Peut-être traduit en : Opérateur d'assignation coalescente nulle, il permet de faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data['date'] ??= new DateTime();
    au lieu de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data['date'] = $data['date'] ?? new DateTime();
    Cependant, le créateur de cette RFC n’a pas été en mesure de finir son implémentation. Il reste à savoir si un membre de l’équipe PHP core sera en mesure de la finir.

    ext-hash toujours activé

    Cette extension est maintenant disponible en permanence dans toutes les installations de PHP.

    Password Hashing Registry (Registre de hachage de mots de passe)

    Modifications internes de la façon d’utilisation des bibliothèques de hachage, de sorte qu'il devient plus facile pour l'utilisateur de les utiliser.

    Source : stitcher

    Et vous ?

    Qu’en pensez-vous ?
    Quelles versions de PHP utilisez-vous ?
    Quelles sont les fonctionnalités que vous appréciez le plus ?

    Voir aussi

    W3Tech : plus de 60 % des sites Web tournent sur PHP 5.x, une version qui ne sera plus supportée après le 31 décembre 2018
    PHP 7.3 est disponible en version stable, un aperçu des nouveautés du langage de programmation côté serveur
    Les benchmarks réalisés sur la dernière préversion de PHP 7.3 sont prometteurs, et la sortie de la version stable se profile à l'horizon
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    mars 2003
    Messages
    1 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2003
    Messages : 1 128
    Points : 2 106
    Points
    2 106
    Billets dans le blog
    3
    Par défaut
    Enfin PHP va ressembler à un vrai langage objet... En espérant que ce ne soit pas trop tard, en 2020, vu les améliorations très régulières d'autres langages.

    Petite question : il sera possible de déclarer un type objet comme on le voit dans l'exemple :

    Mais est-ce qu'on pourra déclarer un type comme étant un tableaux d'objets ?
    Par exemple :

    Si j'ai bien compris la liste complète de ce qui sera implémenté est ici :
    https://wiki.php.net/rfc/typed_properties_v2

    Et je ne vois pas d'exemple à ce sujet. A chaque fois c'est un array simple qui est défini.
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  3. #3
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2012
    Messages : 208
    Points : 395
    Points
    395
    Par défaut
    Citation Envoyé par stailer Voir le message
    Petite question : est-ce qu'on pourra déclarer un type comme étant un tableaux d'objets ?
    Par exemple :

    ça avait été proposé dans une RFC en php5.6 (et rejeté) mais elle n'a pas été remise au planning pour le moment => https://wiki.php.net/rfc/arrayof
    il est possible (avec un bricolage) de typer des tableaux d'objet en paramètre d'une fonction mais il n'est pas possible à ma connaissance de typer le retour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function dates(\DateTime ...$dates) {    //$dates contient un tableau de \DateTime
      }
    n'oubliez pas de voter si le message vous a aidé


  4. #4
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    mars 2003
    Messages
    1 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2003
    Messages : 1 128
    Points : 2 106
    Points
    2 106
    Billets dans le blog
    3
    Par défaut
    C'est pas trop mal...

    - S'il y a d'autres paramètres tu dois obligatoirement les mettre en 1er -> bon, pourquoi pas...
    - Chaque élément du tableau est passé comme un paramètre -> franchement pas terrible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dates($maDate1, $maDate2, $maDate3 )
    On gagne un peu en clarté sur la fonction mais l'utilisation on y perd clairement. Je préfère encore utiliser les commentaires de mon EDI qui me donne l'autocomplétion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /**
     * @param DateTime[] $dates
     * @return DateTime[]
     */
    function dates( $dates) {
     
        return $dates;
    }
     
    $a = new DateTime();
     
    dates([$a, $a, $a]);
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  5. #5
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2012
    Messages : 208
    Points : 395
    Points
    395
    Par défaut
    oui c'est ce que je dis c'est du bricolage pour contourner une limitation du langage donc ça a des inconvénients et ça ne peut pas convenir pour tous les usages.
    Perso je n'ai jamais utilisé ce genre de code pour les deux raisons que tu as citées : d'une part l'utilisation de la fonction devient plus compliqué et moins intuitif puisqu'on doit passer les éléments un par un (On peut aussi utiliser l'opérateur de décomposition $foo = dates(...$monTableauDeDates) ce qui rend le code plus lisible mais pas plus logique) et l'autre raison c'est que les IDE gèrent très bien les annotations de type Classe[]
    n'oubliez pas de voter si le message vous a aidé


  6. #6
    Membre extrêmement actif
    Femme Profil pro
    None
    Inscrit en
    août 2012
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : None

    Informations forums :
    Inscription : août 2012
    Messages : 308
    Points : 592
    Points
    592
    Par défaut
    Beau progrès du point de vue du typage des propriété et de la contravariance. Mais perso j'attends surtout l'implémentation des générics.

  7. #7
    Chroniqueur Actualités

    Homme Profil pro
    Redacteur
    Inscrit en
    juin 2016
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Redacteur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 953
    Points : 26 267
    Points
    26 267
    Par défaut PHP 7.4.0 est disponible avec de nombreuses améliorations et de nouvelles fonctionnalités
    PHP 7.4.0 est disponible avec de nombreuses améliorations et de nouvelles fonctionnalités
    telles que les propriétés typées, un séparateur numérique littéral, et autres

    Comme annoncé au début de cette année, la version 7.4 de PHP est rendue disponible. Cette version marque la quatrième mise à jour de la série PHP 7. PHP 7.4.0 est livré avec de nombreuses améliorations et de nouvelles fonctionnalités telles que :

    Les propriétés typées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    class User {
        public int $id;
        public string $name;
    }
    Les propriétés de classe prennent désormais en charge les déclarations de type. L'exemple ci-dessus imposera que $user->id ne peut se voir attribuer que des valeurs entières et $user->name ne peut se voir attribuer que des valeurs de chaîne.

    Arrow functions

    Arrow functions qu'on pourrait définir par "les fonctions flèches" fournissent une syntaxe abrégée pour définir les fonctions avec une liaison implicite de portée par valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $factor = 10;
    $nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
    // $nums = array(10, 20, 30, 40);
    Type de rendement limité Covariance et type d'argument Contravariance

    La prise en charge complète des variances n'est disponible que si l'autochargement est utilisé. Dans un seul fichier, seules des références de type non cyclique sont possibles, car toutes les classes doivent être disponibles avant d'être référencées. Le code suivant va maintenant fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    class A {}
    class B extends A {}
     
    class Producer {
        public function method(): A {}
    }
    class ChildProducer extends Producer {
        public function method(): B {}
    }
    Séparateur numérique littéral

    Les littéraux numériques peuvent maintenant contenir des tirets de soulignement entre les chiffres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    6.674_083e-11; // float
    299_792_458;   // decimal
    0xCAFE_F00D;   // hexadecimal
    0b0101_1111;   // binary
    Plusieurs autres fonctionnalités sont apportées dans PHP 7.4 dont les « Weak references » (références faibles) qui permettent au programmeur de conserver une référence à un objet qui n'empêche pas que l'objet soit détruit. La suppression des exceptions de __toString() est maintenant autorisée. Auparavant, cela entraînait une erreur fatale. Les erreurs fatales récupérables existantes dans les conversions de chaînes de caractères ont été converties en exceptions d'erreur.

    Opcache Preloading Spécifie un script PHP qui sera compilé et exécuté lors du démarrage du serveur, et qui peut précharger d'autres fichiers, soit grâce à include ou en utilisant la fonction opcache_compile_file(). Toutes les entités (par exemple fonctions et classes) définies dans ces fichiers seront disponibles aux requêtes prêt à l'emploi, jusqu'à ce que le serveur soit éteint.

    Certaines fonctionnalités ont été dépréciées dont les opérateurs ternaires imbriqués sans parenthèses explicites. Les opérations ternaires imbriquées doivent dorénavant utiliser des parenthèses pour dicter l'ordre des opérations. Auparavant, lorsqu'elle était utilisée sans parenthèses, l'association de gauche ne se traduisait pas par le comportement attendu dans la plupart des cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    1 ? 2 : 3 ? 4 : 5;   // déprécié
    (1 ? 2 : 3) ? 4 : 5; // ok
    1 ? 2 : (3 ? 4 : 5); // ok
    Certaines extensions ont été supprimées du core. Ces extensions ont été transférées à PECL et ne font plus partie de la distribution PHP. Les versions paquet PECL de ces extensions seront créées en fonction de la demande des utilisateurs.

    Téléchargez PHP 7.4

    Source : PHP

    Et vous ?

    Que pensez-vous des changements apportés dans PHP 7.4 ?
    Quelles versions de PHP utilisez-vous et pourquoi ?
    Quelles nouvelles fonctionnalités souhaiteriez-vous avoir dans les futures versions de PHP ?

    Voir aussi

    PHP 7.4 devrait être rendu disponible vers la fin de cette année, voici un aperçu des nouveautés qui pourraient y figurer

    PhpStorm 2019.2 disponible : propriétés typées de PHP 7.4, localisation de doublons, expressions régulières pour PHP, scripts Shell, etc.

    PHP 8 va proposer un compilateur Just In Time qui devrait produire une amélioration des performances en vitesse

    « Pourquoi on est repassé de Go à PHP ? », Danny van Kooten, l'éditeur de MailChimp nous livre les raisons de ce rebasculement
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  8. #8
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 576
    Points : 15 037
    Points
    15 037
    Billets dans le blog
    9
    Par défaut
    Et un sacré sucre syntaxique (opérateur d'assignation sur valeur null) :
    Avant PHP 7.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( ! isset($array['key'])) {
        $array['key'] = computeDefault();
    }
    Avec PHP 7.4 : $array['key'] ??= computeDefault();.

    La branche 7 de PHP est exactement ce qu'il fallait à ce langage qui pantouflait.
    Cette branche a induit une sacrée rigueur dans le code. Cela a permis d'améliorer les perfs et surtout de ramener des développeurs en provenance d'autres langages (à fort typage).
    Bref, que du bon
    # Dans la Création, tout est permis mais tout n'est pas utile...

  9. #9
    Membre chevronné Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    mars 2009
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : mars 2009
    Messages : 1 010
    Points : 1 941
    Points
    1 941
    Par défaut
    Euh, c'était pas possible de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $array['key'] = $array['key'] ?? computeDefault();
    avant php7.4 ?

  10. #10
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 576
    Points : 15 037
    Points
    15 037
    Billets dans le blog
    9
    Par défaut
    si, toutafé, mais t'avoueras que c'est vilain : $a = $a...
    # Dans la Création, tout est permis mais tout n'est pas utile...

  11. #11
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    janvier 2016
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : janvier 2016
    Messages : 81
    Points : 268
    Points
    268
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    si, toutafé, mais t'avoueras que c'est vilain : $a = $a...
    C'est pas vilain, l'opérateur ??= a été plutôt conçu pour un code du type.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $longVariableName['property name']['key name'] = $longVariableName['property name']['key name'] ?? computeDefault();
    $longVariableName['property name']['key name'] ??= computeDefault();

  12. #12
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 576
    Points : 15 037
    Points
    15 037
    Billets dans le blog
    9
    Par défaut
    donc sans ce nouvel opérateur, l'écriture à l'ancienne était particulièrement vilaine : je dois t'avouer que commencer une expression comme ça $longVariableName['property name']['key name'] = $longVariableName['property name']['key name'], ça me picore le cerveau.

    Avec la nouvelle notation : si la variable est définie et sa valeur différente de null, on la laisse tranquille sinon on l'a créée et on lui affecte une valeur par défaut. Personnellement la nouvelle syntaxe n'enlève rien à la lisibilité et rien à la compréhension, tout en étant moins verbeuse.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  13. #13
    Membre expert Avatar de Zefling
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2007
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2007
    Messages : 1 054
    Points : 3 846
    Points
    3 846
    Par défaut
    Citation Envoyé par Kulvar Voir le message
    C'est pas vilain, l'opérateur ??= a été plutôt conçu pour un code du type.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $longVariableName['property name']['key name'] = $longVariableName['property name']['key name'] ?? computeDefault();
    $longVariableName['property name']['key name'] ??= computeDefault();
    En gros, on est passé par ces 3 étapes. Bha, je préféré de loin la dernière.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $longVariableName['property name']['key name'] = isset($longVariableName['property name']['key name']) ? $longVariableName['property name']['key name']  : computeDefault();
    $longVariableName['property name']['key name'] = $longVariableName['property name']['key name'] ?? computeDefault();
    $longVariableName['property name']['key name'] ??= computeDefault();

  14. #14
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    1 759
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 1 759
    Points : 1 740
    Points
    1 740
    Billets dans le blog
    1
    Par défaut
    Les propriétés typées, enfin, ça va sacrément simplifier la prise en charge par les IDE.

  15. #15
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    avril 2007
    Messages
    8 491
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2007
    Messages : 8 491
    Points : 16 151
    Points
    16 151
    Par défaut
    Citation Envoyé par Bill Fassinou Voir le message
    Arrow functions

    Arrow functions qu'on pourrait définir par "les fonctions flèches" fournissent une syntaxe abrégée pour définir les fonctions avec une liaison implicite de portée par valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $factor = 10;
    $nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
    // $nums = array(10, 20, 30, 40);
    Plus ou moins l'équivalent des lambdas Java, mais à la mode PHP
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  16. #16
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 576
    Points : 15 037
    Points
    15 037
    Billets dans le blog
    9
    Par défaut
    Les fonctions abrégées : le pied !!!
    Ensuite le fait que l'équipe ait enfin réglé les problèmes de covariance et contravariance, c'est un très gros plus pour la POO. J'ai déjà eu à contourner les plantages du moteur dans un design objet à cause de cette limitation. Enfin !
    # Dans la Création, tout est permis mais tout n'est pas utile...

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/06/2013, 21h51
  2. Réponses: 43
    Dernier message: 31/10/2010, 11h50
  3. [PHP-JS] envoyer valeur de page JSP vers page PHP
    Par metatron dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2006, 12h29
  4. [PHP-JS] Passage de paramètre de Javascript vers fonction Php
    Par winnie82 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/07/2006, 11h06
  5. Réponses: 2
    Dernier message: 08/12/2005, 06h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo