Ich habe den Code unten an mehreren Stellen im Web und sogar hier auf Stack Overflow gefunden, aber ich kann mich einfach nicht damit herumschlagen. Ich weiß, was es tut, aber ich weiß nicht, wie es auch mit den Beispielen geht. Im Grunde speichert es Werte, aber ich weiß nicht, wie ich der Registrierung Werte hinzufüge. Kann jemand bitte versuchen, zu erklären, wie dieser Code funktioniert, sowohl wie ich Werte davon setze und abrufe?
%Vor% Es wird verwendet, dass PHP auf überladener Eigenschaften gehackt wird, um hinzuzufügen Einträge zu und aus dem privaten $vars
-Array abrufen.
Um eine Eigenschaft hinzuzufügen, würden Sie ...
verwenden %Vor% Intern würde dies einen foo
Schlüssel zum $vars
Array mit dem String Wert "foo" über die magische __set
Methode hinzufügen.
Um einen Wert abzurufen ...
%Vor% Intern würde dies den foo
-Eintrag vom Array $vars
über die Methode magic __get
abrufen.
Die Methode __get
sollte wirklich nach nicht existierenden Einträgen suchen und solche Dinge behandeln. Der Code as-is löst einen E_NOTICE
-Fehler für einen nicht definierten Index aus.
Eine bessere Version könnte
sein %Vor%Vielleicht möchten Sie PHP.NET - Overloading ausprobieren
Grundsätzlich würden Sie tun ...
%Vor% Hier verwende ich __set($a, 'This value is not visible to the scope or nonexistent')
Außerdem verwende ich __get($a);
Hoffe das hat geholfen!
Tags und Links php design-patterns oop