borisbaer: PHP-Klassen in Framework global verfügbar machen

Beitrag lesen

Hallo,

ich habe Probleme damit, in meinem PHP-Framework Klassen global verfügbar zu machen.

Ich möchte die Klasse nicht im View instanziieren müssen, d.h. anstatt

<?php $session = new \Core\Session;

if ( $session -> isGuest() ): ?>

möchte ich einfach nur

<?php if ( $session -> isGuest() ): ?>

schreiben können.

Nun rendern meine Controller die Views und ich könnte die Klasse als Variable $session in in den Parametern übergeben, z.B.

return View::render( 'user', [ 'session' => new Session ] );

Aber wenn ich die Klasse auch im Layout verwenden oder darauf verzichten möchte, sie jedes Mal beim Rendern zu übergeben, dann müsste ich einen Weg finden, sie überall auf jeder Seite verfügbar zu machen. Ich hatte versucht, sie in der index.php zu definieren, doch ohne Erfolg.

Sollte ich es vielleicht mit der Router-Klasse versuchen? Mir scheint das die einzige Möglichkeit.

Grüße
Boris

akzeptierte Antworten