52 votes

Y a-t-il une limite en PHP à la longueur d'un nom de variable ou de fonction ?

Si je voulais écrire un nom de variable vraiment long comme :

$this_is_my_variable_that_does_something_in_the_following_function_and_provides_some_information_with_which_the_function_relies_upon_to_do_all_the_work_it_needs = null;

Cela fonctionnerait-il ? Même question pour les noms de fonctions/méthodes.

251voto

ceejayoz Points 85962

En général, une telle limite est imposée par la menace de violence des autres personnes qui interagissent avec votre code.

99voto

De la documentation :

V que les autres étiquettes en PHP. Un nom de variable valide commence par une lettre ou un underscore, suivi de tout nombre de lettres, de chiffres ou de caractères de soulignement

Il en va de même pour les noms de fonctions, comme indiqué dans le tableau suivant aquí .

18voto

Nikola Svitlica Points 464

La limite de longueur des noms de variables/fonctions/méthodes/classes n'existe pas.

Les commentaires ci-dessus indiquent que cette propriété ne doit pas être exploitée. Cela n'est vrai que lorsqu'il s'agit de code lisible et maintenable par l'homme.

Cependant, c'est une fonctionnalité extrêmement utile de PHP, qui est très bien exploitée dans de nombreux projets très populaires, comme Twig par exemple, qui génère des classes, exemple (un extrait) :

class __TwigTemplate_9601167421099bbb502d119e674fed3fb71769eef256903648c9c2b4b6faa436 extends \Twig_Template {

    protected function doDisplay(array $context, array $blocks = array())
    {
        $__internal_0abebc74dd811fd7b4cfa4c6a2fdf870d7723c04e8daf6926b04914d6644935f = $this->env->getExtension("native_profiler");    
    }

}

J'ai eu l'occasion de bénéficier de la même propriété dans mes projets.

En conclusion :

  • Il n'y a pas de limite dans la longueur des noms de var/func/class.
  • Il s'agit d'une caractéristique linguistique extrêmement utile
  • Il y a un contexte pour son utilisation, bien sûr, ce n'est pas pour le travail de tous les jours.

3voto

zsalzbank Points 5698

Il n'y a pas de limite - mais c'est fortement déconseillé car cela crée un code illisible...

3voto

Craige Points 1368

PHP ne pose pas de limite de longueur sur ses identifiants.

Cela dit, je ne vois pas pourquoi on voudrait créer un nom de variable de 160 caractères. J'espère qu'il s'agit d'une question hypothétique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X