[oo] EventManagerAware en ContainterAware allebei laten extenden
- Raoul -
10/12/2012 15:38:11Hoi,
Ik probeer de volgende code uit te voeren:
Maar dat gaat blijkbaar niet, want na enkele Google zoekopdrachten zag ik dat dat niet kan met PHP. Jammer.
Weet iemand een gepaste oplossing voor zo'n probleem op te lossen?
Raoul
Ik probeer de volgende code uit te voeren:
Maar dat gaat blijkbaar niet, want na enkele Google zoekopdrachten zag ik dat dat niet kan met PHP. Jammer.
Weet iemand een gepaste oplossing voor zo'n probleem op te lossen?
Raoul
PHP hulp
22/12/2024 08:54:33TJVB tvb
10/12/2012 16:15:44Je kunt traits gebruiken ( http://php.net/traits )
Wouter J
10/12/2012 16:36:55Dit kan niet alleen niet in PHP, maar kan als het goed is in geen 1 OO taal. Extends zorgt voor 'IS_EEN' relatie. En je kan nooit 2 IS_EEN's te gelijk zijn? Ja, je kan zeggen Dolfijn IS_EEN dier en Dolfijn IS_EEN zoogdier, maar dan zou het worden Dolfijn IS_EEN zoogdier en Zoogdier IS_EEN dier.
Je kan wel meerdere interfaces implementeren. Dat zou dus een oplossing kunnen zijn. Tevens biedt PHP5.4 een nieuwe mogelijkheid, en dat zijn traits.
Je kan wel meerdere interfaces implementeren. Dat zou dus een oplossing kunnen zijn. Tevens biedt PHP5.4 een nieuwe mogelijkheid, en dat zijn traits.
Jurgen B
10/12/2012 20:01:48Jaron T
10/12/2012 20:33:03- Raoul -
10/12/2012 21:51:07Hmm, duidelijk. Die interfaces die ik nu gebruik voor die Aware classen zijn bv: EventManagerAware die EventManagerAwareInterface implementeert. Als ik gewoon die xxAwareInterface gebruik, wat is dan nog het nut van mijn EventManagerAware en ContainerAware classen?
Gewijzigd op 10/12/2012 21:51:34 door - Raoul -
Wouter J
10/12/2012 22:40:45Raoul, in dit geval niet heel veel. Maar misschien heb je wel meerdere klassen die alleen ContainerAware of EventManagerAware zijn. Bijv. alle services, die zouden geen ContainerAware mogen zijn (je moet zoveel mogelijk de dependencies injecteren in services en niet de hele container).
Wat ik nu wel zou doen is een base controller maken die deze basis code bevat, zodat elke controller het overerft.
Wat ik nu wel zou doen is een base controller maken die deze basis code bevat, zodat elke controller het overerft.
- Raoul -
11/12/2012 00:00:27Die base controller is dan toch gewoon die controller class in m'n beginpost? Hij zit in de Framework/Mvc/Controller namespace