Ich habe einen Code durchgearbeitet und einige Anrufe bei gefunden mySQL_fetch_array
. Unterscheidet PHP zwischen Funktionsnamen? Ich erinnere mich, dass ich das irgendwo gelesen habe, aber keinen Hinweis darauf zu finden scheint.
php
function
case-sensitive
Ben Dauphinee
quelle
quelle
Antworten:
Ich zitiere daraus :
Also, sein Aussehen wie benutzerdefinierte Funktionen sind nicht case-sensitive, es eine war Abstimmung Funktionen für die Herstellung / Objekte unter PHP5 Fall empfindlich.
quelle
Nein.
PHP-Funktionen unterscheiden nicht zwischen Groß- und Kleinschreibung.
quelle
TL; DR: Klassennamen unterscheiden nicht zwischen Groß- und Kleinschreibung, verwenden jedoch immer die gleiche Groß- und Kleinschreibung wie in der Deklaration (wie bei Funktionen). Das Instanziieren von Klassen mit unterschiedlichen Groß- und Kleinschreibung kann Probleme mit Autoloadern verursachen.
Bei Klassennamen wird die Groß- und Kleinschreibung nicht berücksichtigt:
Dies gibt aus:
Das Problem ist die Verwendung von Autoloadern und Dateisystemen mit Groß- und Kleinschreibung (wie ext2 / 3/4), da Sie den Klassennamen mit demselben Fall aufrufen müssen, in dem die Datei mit der Klasse benannt ist (nicht wie der Klassenname tatsächlich umhüllt ist). oder verwenden
strtolower
:Die Klassendatei:
Die Autoloader-Funktion (
__autoload
oder eine Funktion zum Registrieren beispl_autoload_register
)Jetzt mit diesem Code:
Sie können diese
strtolower()
Funktion ausführen (dh mit einem Autoloader effektiv zwischen Groß- und Kleinschreibung unterscheidende Klassennamen verwenden), wenn Sie im Autoloader-Code einen Aufruf hinzugefügt haben. Wie bei Funktionen ist es jedoch besser, eine Klasse auf die gleiche Weise zu referenzieren, wie sie deklariert ist. Haben Sie den Dateinamen mit der gleichen Groß- / Kleinschreibung wie den Klassennamen, verwenden Sie Autoloader und vergessen Sie die Verwendungstrtolower
und dergleichen.quelle
Nein, sie unterscheiden nicht zwischen Groß- und Kleinschreibung. Aus Gründen der Konsistenz sollten Sie jedoch immer den im Handbuch angegebenen Fall verwenden.
Bei Variablen wird jedoch zwischen Groß- und Kleinschreibung unterschieden.
quelle
In PHP wird zwischen Groß- und Kleinschreibung unterschieden, aber Funktionen haben kein Problem wie dieses. Sie können die folgenden Anweisungen zum Anzeigen der Ausgabe verwenden, alle zeigen das gleiche Ergebnis.
Wenn Sie andererseits die Groß- und Kleinschreibung von Variablen ändern, wird der Fehler angezeigt.
Beispiel:
Ausgabe:
quelle
Bei Methodennamen wird auch die Groß- und Kleinschreibung nicht berücksichtigt. z.B:-
Ausgabe:
quelle
Zum Abschluss aller Antworten. Auch wenn PHP bis jetzt in PHP5 nicht in allen Fällen eine Konsistenz der Groß- und Kleinschreibung erfordert.
Best Practice wird sein
Sie wissen vielleicht nie, dass eines Tages die Abstimmung abgeschlossen ist, und Sie werden den ganzen Albtraum retten, Fälle in Ihren Anwendungen zu ändern, die vor ein paar Jahren erstellt wurden und in PHP aktualisiert werden müssen.
Hoffe es hilft trotzdem.
quelle
Vielleicht ist das zu spät, aber ...
Jeder hat hier bereits gewusst: Die PHP-Engine kümmert sich nicht um den Fall von Buchstaben.
Und es gibt die Abstimmung über PHP Bugtracker, wo die Mehrheit sagt: "Ja, ich bin pro Fall Sensibilität".
Aber ich bin kontra, weil ich in meinem MVC-Framework Controller-Aktion aufrufe:
$ controller und $ action werden unverändert von der URL übernommen.
Denken Sie daran, wenn ein Benutzer einen Link zu meiner Site veröffentlicht: https: // my-site / MyPartnerController / MyPartnerGallery
während die Klasse myPartnerController heißt ...
Dies bedeutet, dass niemand diese Seite jemals erhält, wenn bei den Klassen- und Funktionsnamen von PHP zwischen Groß- und Kleinschreibung unterschieden wird.
Ja, ich verwende immer alle Namen im Code wie angegeben. Aber ich bete, dass sie niemals die Namen von Funktionen und Klassen zwischen Groß- und Kleinschreibung unterscheiden.
Danke dir!
quelle