RFC: Make empty() a Variadic

Voici une courte RFC autour de la construction empty() :

Cette RFC partait de l’idée qu’il est commun de vouloir utiliser empty() sur plusieurs variables, en vue de déterminer si l’une d’entre elles est vide ou si aucune ne l’est ; ce qui passe actuellement par une portion de code de ce type :

if (empty($a) || empty($b) || empty($c)) {
    // Une des variable est vide
}

if (!empty($a) && !empty($b) && !empty($c)) {
    // Aucune variable vide
}

Pour simplifier l’écriture de ce type de test, cette RFC proposait de rendre empty() variadique (comme l’est déjà isset()), ce qui permettrait d’utiliser l’écriture suivante :

if (empty($a, $b, $c)) {
    // Une des variable est vide
}

if (!empty($a, $b, $c)) {
    // Aucune variable vide
}

Passer plusieurs expressions à empty() reviendrait à effectuer un OR entre empty() de chaque expression.

Les votes ont été ouverts le 7 mars 2015 pour être clôturés le 21 mars. Considérant que cette proposition apporterait un fort risque de confusion (est-ce qu’on vérifie qu’au moins une donnée est vide ? Ou est-ce qu’on vérifie que toutes les données sont vides ?), nous avons exprimé un avis négatif sur internals@.

Une majorité des 2/3 était requise pour l’adoption de cette RFC et elle a été rejetée, avec 26 votes « pour » et 26 votes « contre ».

Une réflexion au sujet de « RFC: Make empty() a Variadic »

  1. Je trouve dommage que cette RFC ai été rejetée alors que le comportement était le même que celui de isset.

    Dans le doute, il restait toujours possible d’écrire une succession de empty.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *