wake-up-neo.com

Warum wird bei Funktionen und Methoden in PHP Groß- / Kleinschreibung nicht berücksichtigt?

Bei Funktionen und Methoden in PHP wird die Groß- und Kleinschreibung nicht berücksichtigt, wie im folgenden Beispiel dargestellt.

function ag()
{
    echo '2';
}

Ag();
class test {
    function clMe()
    {
        echo 'hi';
    }
}

$instance = new test;
$instance->clme();

Aber das ist bei Variablen nicht der Fall. Was ist das Grundprinzip?

102
user198729

Lassen Sie mich aus Interview - PHP's Creator, Rasmus Lerdorf zitieren

Die erste Version von PHP war eine einfache Sammlung von Tools, die ich für meine Website und für einige Projekte zusammengestellt habe Ich habe ungefähr 30 verschiedene kleine CGI-Programme in C geschrieben, bevor ich es satt hatte, und sie alle in einer einzigen C-Bibliothek zusammengefasst und dann einen sehr einfachen Parser geschrieben, der Tags aus HTML-Dateien auswählt und ersetzen Sie diese durch die Ausgabe der entsprechenden Funktionen in der C-Bibliothek.

Der einfache Parser wuchs langsam, um bedingte Tags, dann Schleifen-Tags, Funktionen usw. einzuschließen. Zu keinem Zeitpunkt dachte ich, ich würde eine Skriptsprache schreiben. Ich habe dem Parser für Makroersetzungen einfach ein bisschen Funktionalität hinzugefügt. Ich habe immer noch meine ganze echte Geschäftslogik in C geschrieben.

Ich habe irgendwo gelesen, dass, da sich alle Funktionen, die eingeführt wurden, im Wesentlichen wie Tags in einem HTML-Dokument anfühlten und da HTML-Tags nicht zwischen Groß- und Kleinschreibung unterschieden wurden, er Funktionsnamen in PHP) wählte, um zwischen Groß- und Kleinschreibung zu unterscheiden blieb in der Sprache an.

90
Shailesh Kumar

Ja, bei Funktions- und Methodennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Und ja, bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden.

Ich bin mir nicht sicher, ob es einen Grund dafür gibt - außer, dass dies schon lange so ist und aus Gründen der Abwärtskompatibilität auch weiterhin der Fall ist.



Als Referenz ein paar Links/Zitate zu verschiedenen Seiten des Handbuchs:

Für Funktionen ( Anführungszeichen ):

Hinweis: Bei Funktionsnamen wird die Groß- und Kleinschreibung nicht berücksichtigt. In der Regel ist es jedoch sinnvoll, Funktionen so aufzurufen, wie sie in der Deklaration angegeben sind.

Und Methoden sind nicht viel mehr als Funktionen in Objekten - besonders wenn wir über PHP 4 und Abwärtskompatibilität nachdenken.


Und für Variablen ( zitiert ):

Variablen in PHP werden durch ein Dollarzeichen gefolgt vom Namen der Variablen dargestellt. Der Variablenname unterscheidet zwischen Groß- und Kleinschreibung.

Und Objekteigenschaften sind nicht viel mehr als Variablen in Objekten - dieselbe Bemerkung zu PHP 4 und zur Abwärtskompatibilität.

34
Pascal MARTIN