Accessor Functions
Viele Klassen - etwa für den Datenbankzugriff, das Rendern von Templates etc. - werden an vielen Stellen immer wieder gebraucht. Früher gab es dafür eine Reihe von globalen Variablen, etwa $database für den Datenbankzugriff.
Mit BC2 sind häufig benötigte Objekte über die Klasse CAT_Object verfügbar. Die Klasse sorgt dafür, daß eine Instanz vorhanden und korrekt initialisiert ist, so daß die Klasse bzw. das Objekt direkt benutzt werden kann, ohne erst initialisiert werden zu müssen.
Alle Methoden funktionieren im Grunde gleich:
Klassen, die von CAT_Object abgeleitet sind
im Objektkontext:
im Klassenkontext:
oder auch:
Die meisten Core-Klassen handhaben es so:
$self->db()->methode()
methode() steht hier natürlich als Platzhalter für den Namen einer Methode in der referenzierten Klasse.
Verfügbare Accessor Functions
Accessor | Referenzierte Klasse | Verwendung |
---|---|---|
db() | CAT_Helper_DB | Datenbank-Zugriff |
tpl() | CAT_Helper_Template | Templates |
lang() | CAT_Helper_I18n | Sprachausgaben |
log() | MonologLogger | Log-/Debug-Ausgaben |
user() | CAT_User | Aktuell angemeldeter Benutzer |
router() | CAT_Router | Route-Handler |
form() | wbForms | Formulare dynamisch erzeugen und validieren |
fileinfo() | getID3 | Informationen über Mediendateien (liest ID3 Tags aus) |
lb() | wbList | Handhabung von Listen (lb für ListBuilder) |
perms() | CAT_Permissions | |
roles() | CAT_Roles |