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:

$this->db()->methode()

im Klassenkontext:

CAT_Object::db()->methode()

oder auch:

self::db()->methode()

Die meisten Core-Klassen handhaben es so:

$self = self::getInstance();
$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