Hoi,
Ik heb gezocht op het doorgeven van objecten aan andere objecten maar de zoekresultaten hebben me nog niet verder geholpen.
Ik heb in mijn webapplicatie 4 bestanden:
Ik wil echter gebruik maken van het $db object in de gebruikers klasse en de sessie klasse. Nu intialiseer ik het object opnieuw binnen de gebruikers klasse zijn constructor. Dit voert een nieuwe connectie uit naar de db terwijl ik eigenlijk gewoon bovenstaande object wil blijven gebruiken. Hetzelfde geld voor de sessie klasse.
Bovenstaande wil ik dus niet voor iedere nieuwe klasse doen. Mijn idee was dan ook om een soort hoofdklasse te maken en daar het aangemaakte $db object aan mee te geven.
Wellicht doe ik iets verkeerd maar zodra ik dit dus doe en die hoofdklasse extend naar bijvoorbeeld de gebruikers klasse kan ik geen functies uitvoeren met het $db object.
Kan iemand me aan duwtje in de juiste richting geven?
Ik heb gezocht op het doorgeven van objecten aan andere objecten maar de zoekresultaten hebben me nog niet verder geholpen.
Ik heb in mijn webapplicatie 4 bestanden:
- gebruiker.class.php
Hierin worden wat gebruiker specifieke functies uitgevoerd. Login / Logout etc. - sessie.class.php
Hierin worden wat sessie specifieke functies uitgevoerd. - db.class.php
Hierin staan query functies en wordt de database connectie opgezet. - config.php
Hierin worden de database en gebruikers klasse geinitialiseerd. - index.php
De hoofdpagina van de webapp.
PHP:
1
| $db=new Database(); |
Ik wil echter gebruik maken van het $db object in de gebruikers klasse en de sessie klasse. Nu intialiseer ik het object opnieuw binnen de gebruikers klasse zijn constructor. Dit voert een nieuwe connectie uit naar de db terwijl ik eigenlijk gewoon bovenstaande object wil blijven gebruiken. Hetzelfde geld voor de sessie klasse.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class Gebruiker { public $gebruiker_id; public function __construct($gebruiker_id) { $this->gebruiker_id=$gebruiker_id; $db=new Database(); $this->db=$db; } } |
Bovenstaande wil ik dus niet voor iedere nieuwe klasse doen. Mijn idee was dan ook om een soort hoofdklasse te maken en daar het aangemaakte $db object aan mee te geven.
Wellicht doe ik iets verkeerd maar zodra ik dit dus doe en die hoofdklasse extend naar bijvoorbeeld de gebruikers klasse kan ik geen functies uitvoeren met het $db object.
Kan iemand me aan duwtje in de juiste richting geven?