Ik ben bezig met een nieuw OO beheersysteem(pje) te maken. Er zijn al een heel aantal classes geschreven, maar er is toch iets waar ik me aan erger. Wellicht is er een betere mogelijkheid, heb al gezocht en gelezen, maar ik kan ze niet vinden...
Er is een class voor de aangemelde gebruiker. Deze class dient onder andere de gebruikersnaam, mailadres, ... terug te kunnen geven. Maar moet daarnaast ook instaan voor het toestaan of weigeren van de toegang tot bepaalde functionaliteiten.
Telkens ik nu een nieuwe instantie aanmaak van eender welke andere class, geef ik de aangemelde gebruiker mee. Dit telkens opnieuw meegeven werkt, maar ik wordt het stilaan beu om dit zo te doen. Is er geen andere/betere mogelijkheid om dit te doen?
Voorbeeldje:
De werkelijke code is anders opgebouwd, maar het probleem is hetzelfde. Ik geef nu de instantie van de class gebruiker aan elke andere class door, wat ik liever niet wil doen. Echter, de class moeten wel toegang hebben tot deze gebruiker instantie.
<?PHP
class gebruiker{
function gebruiker($gebruikerid){
...
}
function registerPageAccess($paginaid){
///controleren of de gebruiker wel toegang heeft. Indien niet, exit();
//in database record plaatsen van de gebruikte pagina
}
}
class pagina{
function pagina($paginaid, $i_gebruiker){
//is er geen andere mogelijkheid om toegang te hebben tot deze instantie van de class gebruiker, of moet hij echt telkens opnieuw meegegeven worden?
$i_gebruiker->registerPageAccess($paginaid);
...
...
...
return ...
}
}
$aangemeldegebruiker = new gebruiker(105);
$huidigepagina = new pagina(11, $aangemeldegebruiker);
?>
1.516 views