Hallo,
Wie macht man es am besten wenn man von allen Controllern auf eine bestimmte Funktion zugreifen will?
Typisches beispiel um zu checken ob der User eingeloggt ist? In diesem Fall hab ich schon öfter gesehen, dass einfach eine statische Funktion verwendet wird.
Authentication sollte ein von Controllern getrennte Klasse bzw. ein Dienst sein. Was nicht heißt, dass in Controllern nicht einfach auf den User zugegriffen werden kann. Einige Authentication-Lösungen bieten dazu Controller-Instanzmethoden wie currentUser und loggedIn an, die dann mit dem Authentication-Dienst sprechen.
Aber was ist, wenn diese Funktion auch auf bestimmtes Model zugreifen muss?
Wie dedlfix sage: die stressfreieste Lösung ist, es zu übergeben. Wenn sowohl dieses Model als auch der User-Authentication-Dienst im Kontext der Instanz liegen, kann man einfach eine kleine Methode schreiben, die beide zusammenbringt.
Um welches Model handelt es sich denn?
Fürs Archiv, der Kontext dieser Diskussion:
https://forum.selfhtml.org/?t=217169&m=1491064
Mathias