OOP in combinatie met database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Wouter J

Wouter J

09/01/2012 18:10:31
Quote Anchor link
Je moet je eerst eens goed gaan verdiepen in technieken. Alleen de OOP beginnershandleiding is niet voldoende. Je moet ook -zoals ik al eerder heb gezegd- je verdiepen in patterns.
Het MVC model goed beheersen is zeker een van de dingen die ervoor zorgen dat je OOP beter beheerst en dan niet alleen om programma's te maken met MVC, maar ook om objecten beter in te schatten.
 
PHP hulp

PHP hulp

05/11/2024 20:35:45
 
Ozzie PHP

Ozzie PHP

09/01/2012 19:58:14
Quote Anchor link
Jasper. Om het in mijn eigen simpele taal uit te leggen (voor zover ik het zelf begrijp)...

Vroeger schreef men alle code achter elkaar. Procedureel programmeren noemt men dat als ik me niet vergis. Men schreef als het ware 1 groot bestand. Doe dit, include deze file, start de sessie, controleer of een gebruiker is ingelogd, nee dan toon het inlogformulier, ja dan ga verder en kijk welke url is aangeroepen. Is url a aangeroepen dan doe dit, is url a niet aangeroepen kijk dan of url b is aangeroepen... enz. enz. Al die code stond achter elkaar. OOP, Object georienteerd programmeren, werkt met objecten (classes) die met elkaar kunnen praten waardoor code overzichtelijker wordt en dezelfde code kan worden hergebruikt.

MVC is een design pattern (vergeet die term). Het wil zeggen dat je je code opsplitst in controllers, models en views. Jij typt een url in in je browser. Deze wordt opgevangen door een (zelfgeprogrammeerde) router. Stel de url is www.mijnsite.nl/auto. De router vangt het stukje "auto" op en zoekt vervolgens welke actie (bijv. toonAuto) daarbij hoort. Deze actie vind je terug in een controller. Dit is gewoon een php bestand, bijvoorbeeld "autoController.php". In de controller staat dan de actie / functie toonAuto(). Deze functie haalt uit het model (een ander php bestandje bijv. automodel.php) informatie op en stuurt deze informatie (bijv. een array met daarin 'merk', 'type' en 'kleur') naar de view (ook weer een php bestandje). In de view staat dan alleen maar html en gebruik je de gegevens uit de array.

Bijv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p>Deze auto is van het merk <?php echo $array['merk']; ?></p>

Op deze manier houdt je op een overzichtelijke manier je code / intelligentie (controller / model) gescheiden van je lay-out (view).

Hoop dat het zo wat duidelijker voor je is.
Gewijzigd op 09/01/2012 20:02:24 door Ozzie PHP
 
Jasper DS

Jasper DS

09/01/2012 20:56:44
Quote Anchor link
Ja ozzie, dat begreep ik al. :) Ik heb controllers views en moddels leren kennen via codeIgniter.
 
Pim -

Pim -

16/01/2012 21:13:25
Quote Anchor link
Ik heb helaas geen tijd om nog een tut te schrijven, maar heb er hier een in het engels en beter en duidelijker schrijven dan die lukt me toch niet:

http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the-symfony2-components-part-1
 
Pieter Jansen

Pieter Jansen

17/01/2012 03:08:36
Quote Anchor link
Die Fabien is een pro.. Los van dit artikel natuurlijk. De man achter Symphony(2). Als je het dan toch wil leren, dan van hem ;)

Over de rest, volg het topic waarschijnlijk niet helemaal, maar een boilerplate MVC is de bedoeling? Dus MVC + PDO + routing? Op zich een leuke combinatie, ben wel nieuwsgierig wie hier mee op de proppen komt. Ik las ook iets over ORM? Is dat niet iets te ingewikkeld voor een boilerplate MVC? Misschien dat je dan beter eens kunt kijken naar de basale CRUD operaties op objecten, dat levert vaak al bijna alle resultaten op die je nodig bent en is vaak vrij simpel te implementeren.
Gewijzigd op 17/01/2012 03:56:34 door Pieter Jansen
 
Pim -

Pim -

17/01/2012 11:31:32
Quote Anchor link
Lees mijn tut over DI.
Probeer dan in de controllers in fabiens framework een container te integreren.
Geef die container dan een db object mee en je kan simpele crud bewerkingen doen.
Als dat niet lukt kan je het altijd vragen.
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.