Objectgeorienteerde PHP applicaties
Posted on | oktober 14, 2007 | 3 Comments
Deze post is bedoeld voor PHP developers die reeds beschikken over een degelijke basiskennis en die graag te weten willen komen hoe je op een duidelijke en verzorgde manier een webapplicatie objectgeoriënteerd opbouwt. Wat ik hierbij voorstel is één van vele mogelijkheden om een modulair systeem te bouwen waarbij gebruik gemaakt wordt van patronen die een goede webapplicatie volgens mij in zich moet hebben:
- OOP: Ik krijg nogal vaak de vraag of je in PHP wel degelijke objectgeoriënteerde code kunt schrijven. Deze vraag dient steeds met vuurspuwende ogen als volgt beantwoord worden: “PHP (en eender welke programmeertaal) MOET objectgeoriënteerd geschreven worden”. In de praktijk komt het hier op neer: indien jouw applicatie PHP-code bevat die niet omvat is binnen een klasse dan ben je niet goed bezig. Ok, water bij de wijn, het gebruik van een simpele settingsfile (aka globals.php) is toegelaten. Maar alle code in verschillende klasses onderbrengen is niet genoeg. Maak gebruik van de functionaliteit die OO te bieden heeft. Gebruik compositie en overerving, gebruik attributen en splits codeblokken met verschillende functionaliteit uit in aparte methods zodat je steeds een duidelijk overzicht bewaart van de verantwoordelijkheden die de klasse afhandelt.
- MVC (Model View Controller): Er moet een duidelijke scheiding bestaan tussen programmacode en design/layout van de applicatie. In het bijzonder kan de programmacode opgesplitst worden in twee grote delen: De controller die eigenlijk het hart van de applicatie voorstelt en het besturingsorgaan is van de applicatie. Daarnaast is er de laag van de programmacode die de communicatie met de database regelt en die dus in de praktijk alle nodige query’s gaat uitvoeren en de resultaten terug naar de controller doorspelen.
- Template engine: De template engine zorgt ervoor dat de controller kan beslissen welke elementen op de welbepaalde webpagina worden weergegeven. Hier wordt een duidelijke scheiding voorzien tussen de code en de XHTML-code met bijhorende CSS. Gebruik van een template engine zorgt ervoor dat 2 verschillende groepen mensen binnen een team (designers en programmeurs) parallel aan een zelfde project kunnen werken.
- Commentaar: Plaats commentaar in je PHP code. Beter nog, schrijf eerst je commentaar, codeer later. Schrijf je algoritme eerst uit in commentaar en kijk of je het misschien niet nog wat functioneler kunt maken vooraleer je begint te coderen. Het klinkt zeer “school-alike” maar als je je code niet becommentarieert zet je jezelf (en niet in het minst je collega’s) in’t zak, zo simpel is het. (Ik ben afkomstig van West-Vlaanderen doch dit geheel ter zijde)
Wat zijn nu de plannen? Wel, na deze inleiding zal ik op regelmatige basis verschillende onderdelen uit een modulaire applicatie naar voor brengen. Verwacht hier geen klant-en-klare stukken PHP-code die je maar hoeft te copy-pasten en dan mee kan gaan stoefen. Stap voor stap bouwen we aan de betere PHP webapplicatie. Joepie!
Comments
3 Responses to “Objectgeorienteerde PHP applicaties”
Leave a Reply
oktober 14th, 2007 @ 1:58
Ik kijk er al naar uit.
oktober 16th, 2007 @ 11:30
na deze inleiding heb je ook mijn aandacht te pakken
enlighten us buddy!
november 8th, 2007 @ 3:05
[...] en zeilen te volgen en laat ik mijn technische stuff op een andere plek los. De beloofde posts rond objectgeorienteerde PHP-applicaties zullen daar dan op tijd en stond hun levenslicht zien. Als ze dan nog interessant blijken ook ben [...]