Es kommt wirklich auf eine Sache an: persönliche Vorlieben.
Ich persönlich bin auch derjenige, der diese Namenskonvention verwendet. Das Vorfixieren von protected
oder private
mit einem Unterstrich, sei es eine Variable oder eine Funktion, lässt mich und jeden anderen Programmierer, mit dem ich regelmäßig arbeite, wissen, dass diese Variable global ist und außerhalb der aktuellen Klasse nicht zugänglich ist / Kontext.
Ein Beispiel, das hilft, den Anwendungsfall zu klären, wäre mit Klassenmethoden:
%Vor% Wenn ich Code schreibe, der die Klasse Example
benutzt, oder innerhalb der Klasse selbst arbeite, werde ich sofort erkennen, dass es keine öffentliche Funktion ist, weil _secondFunction()
und damit _
beginnt außerhalb der Klasse nicht zugänglich; keine Notwendigkeit zu gehen und die tatsächliche Funktionsdeklaration zu finden und den Modifikator zu sehen. Auf der anderen Seite werde ich wissen, dass firstFunction()
öffentlich ist, weil es nicht mit einem beginnt.
Es ist eine alte Konvention aus der Zeit vor php5.
Php4 hatte nur öffentliche Sichtbarkeit, und irgendwie wollten die Leute wissen, ob eine Eigenschaft öffentlich oder privat sein soll (dasselbe gilt für Methoden). Das Unterstrichpräfix bezeichnete private Mitglieder oder Methoden, die nicht von außen verwendet werden sollten.
Obwohl dies streng genommen mit php5 nicht notwendig ist, wo Sie die Sichtbarkeit eines Klassenmitglieds explizit markieren können, ist diese Konvention immer noch üblich. Benutzer argumentieren, dass dies erleichtert Code zu erleichtern, wie Sie sofort sehen können, ob Sie diese Funktion auch von außen aufrufen können oder nicht. Dies hängt von der persönlichen Präferenz oder dem Codierungsstil des jeweiligen Projekts ab.
Der Unterstrich ist symbolisch und bedeutet, dass die Variable eine spezielle Eigenschaft besitzt (die vordefiniert ist und sich von Organisation zu Organisation oder von Programmierer zu Programmierer ändern kann). Traditionell bedeutet es, dass etwas nicht öffentlich ist. Gerade Funktionen werden manchmal wie folgt geschrieben:
%Vor% Beachten Sie jedoch, dass PHP alle Funktionsnamen, die mit __
(zwei Unterstriche) beginnen, als magisch betrachtet und es empfiehlt sich, keine Funktionsnamen mit __
in PHP zu verwenden, es sei denn, Sie möchten eine dokumentierte magische Funktionalität haben.
Zum Vergleich: Python hat kein privates / öffentliches Design und verwendet Unterstriche, um die Unterscheidung zu kommunizieren. Siehe diesen Abschnitt von PEP 8:
Es ist also nicht unbedingt nur eine alte Vor-PHP5-Konvention - Leute könnten es absichtlich tun, aus dem gleichen Grund wie Python.
Ganz einfach, weil php das bereits mit Dingen wie _SESSION, _GET, _POST, _REQUEST macht, also ist es ein Muster, das leicht zu erkennen ist.
Es ist definitiv nur persönliche Vorliebe. Sie könnten es tun, weil $ _GET und $ _SESSION in PHP schon fertig sind.
Tags und Links php standards coding-style naming-conventions