Was ist die vorherrschende Namenskonvention für Variablen in PHP: Camelcase oder Unterstriche? [geschlossen]

51

Der Konsens scheint zu sein, dass man sich an die Konvention der Plattform halten sollte, für die sie entwickeln. Sehen:

Unterstrich oder Camelcase?

Namenskonventionen: camelCase versus underscore_case?

Allerdings scheint PHP nicht streng jede Konvention folgt intern (keine Überraschungen gibt), auch für Methoden und Funktionen (zB mysqli::set_local_infile_default, PDOStatement::debugDumpParams); Unterstriche scheinen jedoch in Funktionsnamen vorherrschend zu sein.

Was ich jedoch nicht finden konnte, war Folgendes: Was ist die vorherrschende Namenskonvention für Variablen in PHP?

sbichenko
quelle
Wählen Sie eine und bleiben Sie dabei. Es spielt keine Rolle, welche Sie auswählen, solange Sie dabei bleiben. Gleiches gilt für Tabulatoren und Leerzeichen.
Yannis
2
Ich stimme der in den verknüpften Diskussionen vorherrschenden Meinung nachdrücklich zu: Man sollte sich an die Konvention halten. Aus diesem Grund habe ich den Umfang der Frage auf PHP beschränkt. Aber ich fange an zu fragen , ob es ist eine dominante Namenskonvention in PHP.
SBICHENKO
5
Es gibt keine, Namenskonventionen sind eine weitere dieser kleinen Inkonsistenzen, mit denen PHP so wunderbar zu arbeiten ist. PSR ist die einzige Anstrengung, die es meiner Meinung nach wert ist, verfolgt zu werden, aber ... es liegt ganz bei Ihnen. Verwandte Fragen: Gibt es Standard-Styleguides für PHP? & Warum ändert Bootstrap 3 camelCase in Bindestriche - ist es besser lesbar? .
Yannis
Diese Frage könnte Ihnen helfen: programmers.stackexchange.com/questions/149303/…
Programmierer
Der erste Link ist tot, aber hier ist das Archiv: web.archive.org/web/20130417105957/http://stackoverflow.com/…
Dmitri Zaitsev

Antworten:

50

Es gibt keine definitive Namenskonvention in PHP und sie unterscheiden sich durch das Framework:

Also: Verwenden Sie, was auch immer Ihr Framework verwendet, oder erstellen Sie Ihre eigene Namenskonvention.

Zumindest für Funktionsnamen und Klassenmethoden gilt es eines zu beachten, aber einige Frameworks verwerfen es: PHP unterscheidet in diesem Fall nicht nach Groß- und Kleinschreibung , aTonalFunction()und atonalFunction()beide rufen dieselbe Funktion auf.

Residuum
quelle
1
Nichts gegen dein Argument der Methondennennung, aber das ist absolut nicht die Konvention. Alle modernen Frameworks und Bibliotheken wie Zend Framework 2 , Doctrine 2 und Symfony 2 verwenden camelCase für Methodennamen.
Rudolph Gottesheim
@RudolphGottesheim Guter Punkt. Ich habe die Antwort entsprechend bearbeitet.
Residuum
1
Interessant. Ich kam hierher, weil ich die Codierungskonvention von WordPress als unangemessen empfand. Jetzt sehe ich zumindest, dass sie es so gemeint haben, als wäre es unanständig
Kirby
14

Da ich seit mehr als zehn Jahren mit PHP programmiere, sehe ich einen Wechsel von Unterstrich zu camelCase. Vor allem die größeren Frameworks wie Zend und Symfony bauen auf camelCase auf, auch wenn sie keinen Unterstrich verbieten, die Hauptfunktion jedoch camelCase ist.

In älteren Systemen, wie dem alten Typo3-Zweig (Typo3 Neo wurde ebenfalls in camelCase geändert), sind viele Unterstrichlösungen zu sehen.

Aber es gibt definitiv keine strenge Regel, die von allen angewendet wird, das kann ich in den letzten Jahren sehen.

Tobias
quelle
1

Dies hängt von den Programmierern / Entwicklern sowie dem Framework oder Open Source ab, an dem sie arbeiten. Zum Beispiel ist es im Yii-Framework ratsam, die Schreibweise camel zu verwenden, während im Codeigniter-Framework die meisten Personen Variablennamen mit Unterstrichen folgen. Sicher ist, dass der Variablenname unabhängig von dem verwendeten Framework verständlich und identifizierbar sein muss.

Kanjilal
quelle
0

Persönlich kann dies in beide Richtungen gehen. Einige Programmierer bevorzugen die CamelCase-Schreibweise, andere bevorzugen die Unterstreichung. Wenn Sie also eine Frage wie diese stellen, ist dies irrelevant, da jeder Programmierer seine eigene Meinung hat. Ich persönlich habe die Gewohnheit, je nach Situation beides zu tun. ..

Situation eins:

Wenn Sie einem Programmierteam beigetreten sind und sich einem laufenden Projekt angeschlossen haben, stellen Sie fest, dass eine Beispielvariable angegeben ist:

$theString = "This is a camelcase example";

Aber Sie haben einen bevorzugten Stil von:

$the_string = "This is not a camelcase example"; 

In einer solchen Situation ist es am besten, sich an camelcase zu halten.

Situation zwei:

Sie möchten ein Projekt solo starten.

In solchen Fällen ... Es kommt nur auf das an, womit Sie sich wohl fühlen. Denken Sie an schlechte Praktiken in Bezug auf:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

Dies kann leicht zu unerwarteten Ergebnissen führen. Denken Sie daran.

Daryl Gill
quelle
9
Was Sie meinen, ist PascalCase - camelCase beginnt mit einem Kleinbuchstaben.
John Weisz