Ich möchte gerne eine Klasse immer laden, ohne, dass ich bei jedem Modul
$this->import('Klasse'); verwenden muss. Wie macht man das? Mit einem Hook oder irgendwie mit __construct oder so etwas?
Danke!
Ich möchte gerne eine Klasse immer laden, ohne, dass ich bei jedem Modul
$this->import('Klasse'); verwenden muss. Wie macht man das? Mit einem Hook oder irgendwie mit __construct oder so etwas?
Danke!
Das sind Grundlagen von OOP.
erstelle Dir eine Klasse PreLoadSystem extends System
im Constructor erzeugst du dir deine imports usw.
und deine Klassen leiten sich halt vom PreLoadSystem ab.
http://www.php.net/manual/de/languag...nheritance.php
von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«
Contao-Hosting: begeisterter Uberspace-Nutzer
Ja, das ist mir relativ klar. Ich möchte es aber so machen, wie mit der Klasse Database. Man muss die Database-Klasse auch nicht immer neu laden und sie ist nicht die direkte Mutterklasse meiner Module bzw. in meinen Modulen steht nicht extends Database.
Oder habe ich dich falsch verstanden?
Schaue mal, WO du $this->Database ueberall nutzt. z.B. in einem FE Modul
ModuleArticleList extens Module
abstract class Module extends Frontend
abstract class Frontend extends Controller
und im Frontend Constructor siehst du
$this->import('Database');
Damit ist die Klasse importiert.
Aber wo genau ist nun $this->Database ?
Da gehen wir einfahc noch tiefer und gelangen zum System
Dort wird Database als Klassenvariable definiert. Und durch den __set im der import FUnktion wird die Variable wie gewuenscht gesetzt.
von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«
Contao-Hosting: begeisterter Uberspace-Nutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen