De vraag die ik zou willen stellen, en mogelijk de discussie die daaruit volgt, ligt op de grens van server- en clientside, maar ik vermoed dat het voornamelijk voor de programmeurs van clientside interessant is.
Waar we door talen als Java, C++ en gelukkig ook steeds meer PHP leren om alles netjes volgens de Object-georiënteerde methode in Classes te programmeren, brengt dat volgens mij wel een lastigheid met zich mee op het gebied van Ajax. Stel dat je de hiërarchie van een forum in php-classes hebt uitgewerkt. Je hebt dan bijvoorbeeld een Thread, Post en User classe, met ieder z'n getters en setters (getTitle, getContent, setEmailaddress, etc). Hierin kan je de juiste controles uitvoeren en je data-model consistent houden.
Wanneer je het oldskool zou programmeren zou iedere pagina voor je bezoeker een bijbehorende pagina op de server hebben; viewTopic.php, updateUser.php, etc. In deze serverside pagina's roep je on-the-fly de juiste getters/setters.
Stel dat je er nu voor kiest om het zoveel mogelijk via Ajax te doen. Voor al deze getters en setters moet je dan eigenlijk wrappers schijven. Bijvoorbeeld ajaxRequest.php?type=topic&request=getTitle&uid=42. Hiermee maak je een laagje boven je Topic->getTitle( 42 );, en dat klinkt als dubbel werk (iets dat voor een programmeur meestal niet aantrekkelijk klinkt).
Ik ben bekend met Xajax, waarbij je functies in php kan schrijven die je als het ware vanuit javascript aanroept. Ik vind die methode erg fijn werken, maar het is lastig een goed overzicht te houden van al je functies wanneer het gaat om bijvoorbeeld 20+ classes met getters en setters.
Je zou ook met Xajax één php-functie kunnen schrijven die de parameters afvangt en zelf de juiste klasse aanmaakt en getters/setters pakt. Je komt dan echter met het probleem dat die erg veel kennis moet hebben van je presentatie laag. Hierdoor wordt de MVC-methode weer lastiger te gebruiken.
Zijn er methodes om met dit probleem om te gaan, en welke? Of is het toch een kwestie van (veel) ajax-pagina's met gegroepeerde functies/functionaliteiten?
Daarnaast; in mijn ogen is de ideale manier dat je Ajax request alleen data oplevert (xml of json bijvoorbeeld) en dat de presentatielaag dat zelf verwerkt (een tabel van maakt), en niet dat -wat bijvoorbeeld met XajaX snel wordt gedaan- het resultaat van het request ook de opmaak etc bevat. Hoe denken jullie daarover?
Waar we door talen als Java, C++ en gelukkig ook steeds meer PHP leren om alles netjes volgens de Object-georiënteerde methode in Classes te programmeren, brengt dat volgens mij wel een lastigheid met zich mee op het gebied van Ajax. Stel dat je de hiërarchie van een forum in php-classes hebt uitgewerkt. Je hebt dan bijvoorbeeld een Thread, Post en User classe, met ieder z'n getters en setters (getTitle, getContent, setEmailaddress, etc). Hierin kan je de juiste controles uitvoeren en je data-model consistent houden.
Wanneer je het oldskool zou programmeren zou iedere pagina voor je bezoeker een bijbehorende pagina op de server hebben; viewTopic.php, updateUser.php, etc. In deze serverside pagina's roep je on-the-fly de juiste getters/setters.
Stel dat je er nu voor kiest om het zoveel mogelijk via Ajax te doen. Voor al deze getters en setters moet je dan eigenlijk wrappers schijven. Bijvoorbeeld ajaxRequest.php?type=topic&request=getTitle&uid=42. Hiermee maak je een laagje boven je Topic->getTitle( 42 );, en dat klinkt als dubbel werk (iets dat voor een programmeur meestal niet aantrekkelijk klinkt).
Ik ben bekend met Xajax, waarbij je functies in php kan schrijven die je als het ware vanuit javascript aanroept. Ik vind die methode erg fijn werken, maar het is lastig een goed overzicht te houden van al je functies wanneer het gaat om bijvoorbeeld 20+ classes met getters en setters.
Je zou ook met Xajax één php-functie kunnen schrijven die de parameters afvangt en zelf de juiste klasse aanmaakt en getters/setters pakt. Je komt dan echter met het probleem dat die erg veel kennis moet hebben van je presentatie laag. Hierdoor wordt de MVC-methode weer lastiger te gebruiken.
Zijn er methodes om met dit probleem om te gaan, en welke? Of is het toch een kwestie van (veel) ajax-pagina's met gegroepeerde functies/functionaliteiten?
Daarnaast; in mijn ogen is de ideale manier dat je Ajax request alleen data oplevert (xml of json bijvoorbeeld) en dat de presentatielaag dat zelf verwerkt (een tabel van maakt), en niet dat -wat bijvoorbeeld met XajaX snel wordt gedaan- het resultaat van het request ook de opmaak etc bevat. Hoe denken jullie daarover?