Home
Navigation
Impressum
Coder Welten - Programmierung und Optimierung
Coder Welten
 
 

 

 

Schreibweise von Bezeichnern in PHP-Scripts

Notation von Bezeichnern

Bei der Schreibweise von Bezeichnern für Variablen, Konstanten, Funktionen, Klassen und Methoden müssen einige Regeln beachtet werden. Die Beachtung von darüber hinausgehenden Hinweisen, welche die Notation betreffen, ist eher freiwillig und dient mehr oder weniger nur der besseren Lesbarkeit des Codes.

Für alle Bezeichner gilt, dass ein gültiger Name bzw. Bezeichner nur mit einem Buchstaben oder Unterstrich beginnen darf, dem weitere Buchstaben, Unterstriche oder Ziffern folgen. Weiterhin dürfen keine von PHP bereits reservierten Worte als Bezeichner für Konstanten, Funktionen, Klassen und Methoden verwendet werden. Als Bezeichner für Variablen ist die Benutzung von reservierten Worten zwar möglich, um einer Verwechslungsgefahr vorzubeugen, sollten diese dann jedoch nur in einer eindeutigen kombinierten Schreibweise verwendet werden, um die Verwechslungsgefahr zu minimieren.
Bei Variablen kommt hinzu, dass den Bezeichnern ein Dollar-Zeichen vorangestellt werden muss. Somit gesehen beginnen die Bezeichner von Variablen eigentlich mit einem Dollar-Zeichen, denen der Name der Variablen folgt. In diesem Zusammenhang müsste jedoch definiert werden, ob Bezeichner nicht gleich Name ist oder ob Bezeichner gleich Name ist, dem bei Variablen nur ein Dollar-Zeichen vorangestellt wird. Doch das würde in Haarspalterei enden, wichtiger ist hingegen die Beachtung von Groß- und Kleinschreibung bei Bezeichnern.

Zur Groß- und Kleinschreibung von Bezeichnern wäre zu bemerken, dass PHP nur bei Namen von Variablen, Konstanten und bei den Eigenschaften von Klassen case sensitive reagiert. Bei Funktionen, Klassen und Methoden hingen unterscheidet PHP nicht zwischen Groß- und Kleinschreibung (case insensitive). Als Demo und zur besseren Veranschaulichung soll eine Beispielklasse dienen:

Beispiel 1: Die Bezeichner von Funktionen, Klassen und Methoden wertet PHP case insensitive aus.

<?php
class DerMensch {

    private $tutwas  = "denkt";
    private $ueber   = "Unfug";
    private $antwort = "-";
    
    public function beantworteFrage() {

        $this->antwort = "Der Mensch ".$this->tutwas.
                         " zuweilen über ".$this->ueber." nach.\n";
        
        return $this->antwort;
    }
}
echo "Frage: Was tut der Mensch zuweilen?<br>";

$ausgabe = new DerMensch();
echo "Antwort: ".$ausgabe->beantworteFrage();
?>

Der Codeschnipsel mit der Beispielklasse würde folgende Ausgabe bewirken:

Frage: Was tut der Mensch zuweilen?
Antwort: Der Mensch denkt zuweilen über Unfug nach.

Diese Ausgabe würde sich jedoch auch dann nicht ändern oder eine Error-Meldung des Parsers auslösen, wenn die Bezeichner sich deutlich in der Groß- und Kleinschreibung unterscheiden würden. Zum Test wurden die letzten beiden Zeilen des obigen Codes entsprechend abgewandelt:

Beispiel 2: Schlechtes, nur zum Test und nicht zur Nachahmung empfohlenes Beispiel.

<?php

$ausgabe = new DERMENSCH();                       // funktioniert
echo "Antwort: ".$ausgabe->BEANTWORTEFRAGE();     // funktioniert
?>

Anders sieht es bei den Bezeichnern von Konstanten, Variablen und Eigenschaften aus, wo peinlichst genau auf die Groß- und Kleinschreibung geachtet werden muss. Vielfach werden aus besagtem Grund die Namen von Variablen durchgehend klein geschrieben, die von Funktionen und Methoden hingegen in "camelCase" (lowerCamelCase), die von Klassen in "CamelCase" (auch benannt als PascalCase oder UpperCamelCase) und die von Konstanten durchgehend groß.

Weitere Hinweise zur Notation

Bei nachfolgenden Hinweisen handelt es sich um keine verbindlichen Regeln, eher mehr um Vorschläge.

Variablen: Die Namen der Variablen sollten auf deren Verwendung schlussfolgern lassen. Zumindest der jeweilige Programmierer sollte leicht erkennen können, warum er eine Variable mit $endsumme und eine andere mit $derPreis benannte. Ob er dabei zur Trennung einen Unterstrich verwendet, wie bei $der_preis oder nicht, bleibt hingegen dem Programmierer überlassen, solange er den Durchblick nicht verliert. Werden alle Variablen durchgehend klein geschrieben und erforderlichenfalls mit Unterstrichen getrennt, wird jedoch die Fehleranfälligkeit durch Groß- und Kleinschreibung minimiert.
Dem steht die "camelCase" Notation gegenüber, bei dem der erste Buchstabe eines aus zwei Wörtern oder Ausdrücken zusammengesetzten Bezeichners klein geschrieben wird, der zweite Teil eines Bezeichners hingegen mit einem Großbuchstanden beginnt. Siehe Beispiel mit $derPreis. Da die "camelCase" Notation jedoch für die Bezeichner von Funktionen und Methoden empfohlen wird, sollte diese eventuell nicht überstrapaziert werden.

Konstanten: Selbstdefinierte Konstanten werden durchgängig groß geschrieben, was zwar theoretisch keine Pflicht ist, doch sich mehr oder weniger so durchsetzte und wohl von den meisten Programmierern berücksichtigt wird.

Beispiel 3:

<?php
define("DATEN_ZUGANG", "...ist geheim...");

echo DATEN_ZUGANG;           // Ausgabe: ...ist geheim...
?>

Funktionen und Methoden: Die Bezeichner von selbstdefinierten Funktionen und Methoden sollten in "camelCase" geschrieben werden, wobei der erste Teil nach Möglichkeit ein Tätigkeitswort (auch als Verb oder Zeitwort bezeichnet) enthalten sollte, welches zum Ausdruck bringt, was die jeweilige Funktion oder Methode tun oder erledigen sollte. Im ersten Beispiel erhielt die Methode aus diesem Grund den Bezeichner "beantworteFrage". Weitere Beispiele wären zum Beispiel "pruefeEingabe" oder "wandleUmlaute ".
Wer es sich bei Methoden etwas einfacher machen möchte, kann get oder set verwenden, je nachdem ob bei der Rückgabe Werte geliefert oder gesetzt werden sollen. Ob der zweite Teil des Bezeichners dann unbedingt aus einem Substantiv bestehen sollte, darüber ließe sich streiten, da zuweilen auch Umstandswörter (Adverben) wie in "rechneAus" zumindest in Kombination geeignet erscheinen.
Nur stört in diesem Beispiel das große A ein wenig, woraus sich die Frage ergeben würde, ob "camelCase" dann nicht lieber zugunsten des Unterstrichs (wie bei rechne_aus) weichen sollte.

Klassen: Bei den Bezeichnern von Klassen sollte von der "CamelCase" Schreibweise Gebrauch gemacht werden und das auch dann, wenn es der eine oder andere Programmierer bei Variablen, Funktionen, Eigenschaften und Methoden nicht so eng sieht. Doch eine Klasse enthält Eigenschaften und/oder Methoden und dient der Erzeugung von Objekten als Instanz der jeweiligen Klasse. Durch die "CamelCase"-Schreibweise lässt sich einfach verdeutlichen, ob es sich in einem beliebigen Code um eine Klasse handelt oder eben nicht, vorausgesetzt bei anderen Bezeichnern wurde nicht ebenfalls die "CamelCase"-Notation verwendet.
Der Bezeichner einer Klasse sollte weiterhin ein Substantiv enthalten. Handelt es sich dabei um ein zusammengesetztes Nomen, so beginnt jedes Wort (nicht Silbe) mit einem "GroßBuchStaben". Ob sich die Klasse dann von aus Buchenholz geschnitzten Runen ableiten lässt, ist eine andere Frage, nur so viel scheint festzustehen, dass es sich bei den Buchstaben um Stäbchen handelte, die noch nichts mit dem späteren Buchdruck zu tun hatten. Ob einer Klasse nun nur mit "Mensch" oder mit "DerMensch" oder mit "HomoSapiens" benannt wird, steht auf einem anderen Blatt und lässt genügend Spielraum für eigene Vorstellungen.

Eigenschaften: Siehe Variablen

 

Copyright © Verlag Horst Müller - Stendal - 2006 - Impressum - Datenschutz - Nutzungsbedingungen