2010-07-26 11 views
10

Ich weiß, dass es möglich ist, eine statische Klassenmethode als privat und in PHP geschützt zu definieren. Dies ermöglicht einer instanziierten Klasse oder einer statischen statischen Methode, auf ihre eigenen privaten/geschützten statischen Methoden zuzugreifen.Kann PHP statische Methoden legal eine Sichtbarkeit von geschützt oder privat haben?

protected static function jumpOver () 

Allerdings bin ich nicht sicher, ob dies im Sinne der OOP Design legal ist. Ich kann keine wirklichen Informationen finden, die besagen, dass es in Ordnung ist, dies zu tun. Ich mache mir Sorgen, dass PHP dies in zukünftigen Versionen "patchen" könnte, wenn dies nicht gültig ist und meine Skripte brechen.

Danke für die Hilfe.

+0

'geschützte statische Funktion' ist legit, es kann als Hilfsmethode für andere statische Methoden verwendet werden. –

Antwort

9

Es ist. Statische Methoden sind normalerweise nichts anderes als Hilfsmethoden mit Code, die Sie möglicherweise nicht veröffentlichen möchten.

Die anderen gängigen objektorientierten Sprachen, die ich mir vorstellen kann, haben sie auch (C++, Java, C#). Ich glaube wirklich nicht, dass sie jemals diese Funktion entfernen werden.

Außerdem sind die Kerle bei PHP langsam dabei, vorhandene Funktionen zu brechen, also würde ich mich nicht zu viel darum kümmern.

+0

ähm ... ist nicht das Schlüsselwort, mit dem Sie Ihren Code schützen möchten? – dierre

+3

@dierre: 'final' schützt vor dem Überschreiben/Vererben, aber es schützt nicht den Zugriff. – zneak

+0

oh, ok. Entschuldigung, ich dachte, mit "Code haben Sie möglicherweise nicht öffentlich sein wollen" wurde auf die Möglichkeit der Überschreibung/erben es bezeichnet. – dierre

Verwandte Themen