Blogs door "FangorN" 4

ICTscripters maakt gebruik van cookies. Door het gebruiken en browsen naar onze site gaat je automatisch akkoord met het gebruik van cookies. Klik hier voor meer informatie

  • Noot vooraf: eigenlijk was ik niet van plan dit artikel te publiceren (omdat deze eigenlijk nog steeds net compleet is), maar om nu de publicatiedatum continu vooruit te schuiven is ook zoiets. Daarom toch maar een verkorte versie die al met al toch nog redelijk lang is. Het is een vrij lang theoretisch verhaal wat voortborduurt op de vorige blogs. Mogelijk komt er ooit nog een vervolg in de vorm van een download of een concret(er)e implementatie.

    Noot vooraf: dit alles is bij elkaar, zoals gezegd, een (erg?) lang artikel geworden, maar ik denk dat het niet veel korter kan zonder dat bepaalde aspecten minder goed uit de verf zouden komen omdat over routing nu eenmaal veel te vertellen is, te meer omdat er op dit punt een heleboel zaken samenkomen in je applicatie.

    Inleiding
    Allereerst is het wellicht handig om een definitie te geven van wat ik in dit artikel versta onder routing. Routing in dit artikel omvat alle (basis)taken die verricht moeten worden ten aanzien van zowel de… [Lees meer]
  • Noot vooraf: Dit artikel verwijst regelmatig naar twee eerder geschreven artikelen over autoloading en een standaard PHP-klasse voor een standalone script. Omdat we in dit artikel een grote stap zetten richting een eenvoudig maar redelijk compleet systeem loont het misschien de moeite om deze twee artikelen eerst door te lezen zodat je wat meer op dezelfde golflengte zit bij het lezen van dit artikel, te meer omdat het geheel meer is dan de som van de individuele delen. Misschien kan het ook geen kwaad om hier een stevige bak koffie bij te nuttigen :).

    Inleiding
    Wanneer je grotere applicaties gaat schrijven wordt het steeds belangrijker dat deze een goede architectuur hebben. Op een zeker moment is het namelijk niet langer wenselijk of verstandig om deze te laten bestaan uit een verzameling van standalone scripts. Een goede mindset die hier, en eigenlijk overal, gehanteerd kan worden is Don't Repeat Yourself (DRY). Indien je een (soortgelijke) bewerking twee of meerdere keren aan het… [Lees meer]
  • Noot vooraf: bij het schrijven van dit artikel wordt verondersteld dat alle webpagina's en data gebruik maken van UTF-8 als character encoding.

    Inleiding
    Je zult je vast afvragen wat je je hierbij moet voorstellen. Wanneer je op regelmatige basis PHP code schrijft ben je hier ongetwijfeld wel eens tegenaan gelopen: je hebt de wens om een stuk code te schrijven die een bepaald voorgeschreven doel heeft: een importscript, een contactformulier of een ander script wat dient als basis voor een later uit te bouwen systeem (nieuwssysteempje, blog etc.).

    Kenmerkend aan dit soort scripts is dat ze, naast dat ze op de achtergrond mogelijk veel werk verzetten, (vaak maar niet altijd) output produceren die op het scherm wordt weergegeven, zij het debug-informatie die extra inzicht geeft in de toestand van een database of een tekst met UBB-codes die wordt omgezet naar een net artikel met gelimiteerde HTML-functionaliteit.

    Hoe dan ook, de output heeft een zeker formaat of Content-Type. Hierbij… [Lees meer]
  • Inleiding
    Tegenwoordig is PHP code voor een groot deel of zelfs geheel object georiënteerd. Hierbij omvat elk PHP bestand één class definitie. Als je zelf object georiënteerde code schrijft is eenzelfde aanpak waarschijnlijk aan te raden.

    Maar dan komt het moment dat je deze classes gaat gebruiken en objecten wilt creëren. Je zult dan deze classes op een of andere manier moeten invoegen in je eigen code om objecten te kunnen maken. Een manier om dit te doen is via require(), of wellicht beter, om te voorkomen dat je een fout krijgt wanneer je eenzelfde class opnieuw probeert in te voegen, require_once(). Nadat je op deze manier een PHP bestand hebt ingevoegd kun je objecten maken van de class die in het ingevoegde bestand staat gedefinieerd.

    Nota bene: dit verdient waarschijnlijk nog de voorkeur boven include() en include_once() omdat de twee laatstgenoemde functies enkel een waarschuwing produceren als het bestand in kwestie niet gevonden kan worden en (nog belangrijker) de uitvoer… [Lees meer]