Ik ben nu bezig mijn site opnieuw op te bouwen, en ga daarvoor gebruik maken van OOP. Ik heb in mijn design plannen 6 classes staan die functies bevatten voor verschillende delen van de site.
Nu ik klaar ben met de tekeningen en programma structuur diagrammen, ben ik begonnen met het programmeren van de eerste paar testjes. Maar vrijwel direct liep ik tegen design problemen aan.
Ik heb in mijn voorbeeld 2 classes:
- scenes
- database
In de test staat deze code:
PHP:
1 | <?php
|
Dan heb ik in database.php
PHP:
1 | <?php
|
En in scene.php het volgende:
PHP:
1 | <?php
|
Sorry als het een beetje op een code-dump lijkt, maar ik heb het idee dat het allemaal al zo minimaal mogelijk is nu.
Anyway, dit werkt niet, en logisch ook.
Maar wat is nu de beste manier om in elke class en elke functie toegang te geven tot de verschillende classes?
Globals moet ik ontwijken heb ik gehoord. Maar ik snap die singletons niet helemaal. Ik heb het geprobeerd maar daar kwamen ook nog steeds errors van. En daarnaast moest ik het in iedere functie opnieuw doen? Ik wil gewoon een keer in de constructor alle classes binnen slepen, maar niet meerdere objecten van dezelfde class hebben.
Ik wil bijvoorbeeld niet dadelijk 7x een db object openen.
Kan iemand me uitleggen hoe ik hier alles op orde krijg?
Ik weet niet zeker of dit taal-afhankelijk is, maar ik meen ooit eens gelezen te hebben dat PHP niet volledig OOP is.
A closed mind is like a closed book; just a block of wood