Gibt es in PHP eine Begrenzung für die Länge eines Variablen- oder Funktionsnamens?

Lesezeit: 4 Minuten

Wenn ich einen wirklich langen Variablennamen schreiben wollte wie:

$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;

Funktioniert das? gleiche Frage für Funktions-/Methodennamen

  • Du solltest diesen Camel Case machen, sonst ist es schwer zu lesen.

    – Parris Varney

    30. Dezember 2010 um 20:04 Uhr

  • @PMV: $thisIsMyVariableThatDoesSomethingInTheFollowingFunctionAndProvidesSomeInformationWith WhichTheFunctionReliesUponToDoAllTheWorkItNeeds = null; Ja, das liest sich leicht. Ich kann es in einem einzigen Atemzug sagen! *atmet*

    – BoltClock

    30. Dezember 2010 um 20:05 Uhr


  • @BoltClock: Wahrscheinlich auch NULL groß schreiben, da es eine Konstante ist. Dann wäre es eine perfekt lesbare und sinnvolle Aussage. Schade, dass Satzzeichen nicht erlaubt sind.

    – Parris Varney

    30. Dezember 2010 um 20:08 Uhr


  • @PMV: Ja, das habe ich vergessen. Ich schreibe es immer in meinem Code groß.

    – BoltClock

    30. Dezember 2010 um 20:13 Uhr

  • Eine gute Frage, aber trivial für sich selbst zu beantworten. Hast Du es versucht?

    – Glücklicher Hund

    16. September 2019 um 11:10 Uhr

Im Allgemeinen wird eine solche Grenze durch die Androhung von Gewalt durch andere Personen auferlegt, die mit Ihrem Code interagieren.

  • Ich habe gerade herzlich gelacht, als ich deine Erklärung gelesen habe. Genau dasselbe passiert oft, wenn Ihr Code nur Variablen mit nur einem Buchstaben verwendet, wie z $i, $n oder $k.

    – Jocelyn

    1. Dezember 2012 um 2:44 Uhr

  • So, if (strlen($varname) < 4 || strlen($varname) > 16) { SKINNERRRRRR(!!!!!1); }

    – Thomas Rutter

    14. Januar 2014 um 14:16 Uhr


  • @RobinJ Nach Wahl des postenden Benutzers, wie jede andere akzeptierte Antwort auf der Website. Es ist meiner Meinung nach auch eine absolut genaue Antwort – technologische Einschränkungen sind nicht die einzigen. Außerdem ist es fünf Jahre alt … warum fragst du jetzt?

    – ceejayoz

    10. April 2015 um 16:56 Uhr


Benutzer-Avatar
Klaus Byskov Pedersen

Von dem Dokumentation:

Variablennamen folgen den gleichen Regeln wie andere Labels in PHP. Ein gültiger Variablenname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von irgendeine Nummer
aus Buchstaben, Ziffern oder Unterstrichen

Dasselbe gilt, wie gesagt, für Funktionsnamen hier.

  • Das Schreiben von 200 Unterstrichen auf einer Zeile (und einem Semikolon am Ende) ist also vollkommen gültig, solange die Notizen ausgeschaltet sind! Zeit, meine neuen Trennzeichen vorzustellen 🙂

    – dkellner

    23. November 2018 um 15:10 Uhr

  • Ich würde die ANSI-Empfehlung für die sicherere Seite für C bevorzugen, nachdem PHP in c geschrieben ist (eine Länge von mehr als 31 Zeichen für einen Variablennamen.)

    – Amitesh Bharti

    16. Dezember 2021 um 7:13 Uhr


Die Begrenzung der Länge von Variablen-/Funktions-/Methoden-/Klassennamen existiert nicht.

Die obigen Kommentare besagen, dass diese Eigenschaft nicht ausgenutzt werden sollte. Das gilt nur, wenn es um von Menschen lesbaren/von Menschen wartbaren Code geht.

Dies ist jedoch eine äußerst nützliche Funktion von PHP, die in vielen sehr beliebten Projekten sehr gut ausgenutzt wird, wie beispielsweise Twig, das Klassen generiert, Beispiel (ein Ausschnitt):

class __TwigTemplate_9601167421099bbb502d119e674fed3fb71769eef256903648c9c2b4b6faa436 extends \Twig_Template {

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

}

Ich hatte Gelegenheit, auch in meinen Projekten von demselben Eigentum zu profitieren.

Abschließend:

  • Die Länge von var/func/class-Namen ist unbegrenzt
  • Es ist eine äußerst nützliche Sprachfunktion
  • Es gibt natürlich einen Kontext für seine Verwendung, es ist natürlich nicht für die tägliche Arbeit

  • Sicher in Bezug auf “Es gibt keine Begrenzung für die Länge von var/func/class-Namen”? Haben Sie eine Referenz?

    – Amranur Rahman

    10. September 2019 um 11:15 Uhr


Es gibt keine Begrenzung – aber es wird nicht empfohlen, da es unlesbaren Code erstellt …

PHP hat keine Längenbeschränkung für seine Bezeichner.

Allerdings bin ich mir nicht sicher, warum jemand jemals einen Variablennamen mit 160 Zeichen erstellen möchte. Ich hoffe, das ist eine hypothetische Frage.

  • Nun, ich dachte daran, einen Framework/Codierungsstandard zu schreiben, der keine Kommentare verwendet und sich stattdessen darauf verlässt, wirklich beschreibende Variablen- und Funktionsnamen zu verwenden =P

    – James

    30. Dezember 2010 um 20:03 Uhr


  • Nennen Sie es Framework/Coding Standard ThatDoesn’tUseCommentsandStatutedReliesonUsingReallyDescriptiveVariableandFunctionNamesCMS.

    – ceejayoz

    30. Dezember 2010 um 20:08 Uhr

  • Pfui. Sie erwarten also, dass ein langer Variablenname einen Kommentar ersetzt, der erklärt, warum jemand etwas Bizarres getan hat? Viel Glück damit.

    – Brian Clapper

    30. Dezember 2010 um 20:09 Uhr

  • Vielleicht sind es nur dynamische Zeugkennungen 😉

    – Thiago Macedo

    26. Mai 2014 um 15:51 Uhr


  • Es gibt einen Verwendungskontext – automatisch generierte Variablen/Klassen/Funktionen

    – Nikola Svitlica

    14. September 2015 um 9:26 Uhr

PHP hat keine Beschränkung für den Variablennamen. Und mein Vorschlag ist, dass der Variablenname aus der Definition der Daten bestehen muss, die Sie darin speichern werden.

  • Nun, ich dachte daran, einen Framework/Codierungsstandard zu schreiben, der keine Kommentare verwendet und sich stattdessen darauf verlässt, wirklich beschreibende Variablen- und Funktionsnamen zu verwenden =P

    – James

    30. Dezember 2010 um 20:03 Uhr


  • Nennen Sie es Framework/Coding Standard ThatDoesn’tUseCommentsandStatutedReliesonUsingReallyDescriptiveVariableandFunctionNamesCMS.

    – ceejayoz

    30. Dezember 2010 um 20:08 Uhr

  • Pfui. Sie erwarten also, dass ein langer Variablenname einen Kommentar ersetzt, der erklärt, warum jemand etwas Bizarres getan hat? Viel Glück damit.

    – Brian Clapper

    30. Dezember 2010 um 20:09 Uhr

  • Vielleicht sind es nur dynamische Zeugkennungen 😉

    – Thiago Macedo

    26. Mai 2014 um 15:51 Uhr


  • Es gibt einen Verwendungskontext – automatisch generierte Variablen/Klassen/Funktionen

    – Nikola Svitlica

    14. September 2015 um 9:26 Uhr

1298570cookie-checkGibt es in PHP eine Begrenzung für die Länge eines Variablen- oder Funktionsnamens?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy