dedlfix: PHP OOP Variablengültigkeit

Beitrag lesen

echo $begrüßung;

Und eine Möglichkeit, eine Methode zu veranlassen, etwas in das ursprüngliche Script einzubinden, gibt es nicht, oder?

Globale Variablen sind sowieso nicht das Wahre bei OOP. Nicht veränderliche Werte können in Konstanten definiert werden, die sind überall verfügbar. Ansonsten wäre das Registry-Muster eine brauchbare Alternative, Objekte zwischenzuspeichern, die von mehreren Programmteilen verwendet werden sollen. Durch die Registry liegen sie verfügbar an einem definierten Ort und müssen nicht überall durchgereicht oder gar mit global angesprochen werden.

Eine Registry ist ein Objekt, dass auf Anforderung hin ein anderes Objekt unter einem bestimmten Namen speichert und ebenfalls auf eine Anforderung dieses benannte Objekt wieder hergibt. Und so sieht die Anwendung der Registry aus:

// Einstellen
  Registry::register('name', $object);

// Abholen
  $object = Registry::get('name');

Gegebenenfalls muss man das Abholen noch in einen try-catch-Block stecken, wenn nicht sichergestellt ist, dass das Objekt garantiert existiert.

Um die Objekte innerhalb der Registry zu speichern, eignet sich eine statische Klassen-Eigenschaft in der Registry-Klasse.

echo "$verabschiedung $name";