Hallo mede-tweakerts.
Ik zit met een klein probleempje.
Voor mijn eind opdracht PHP (school) heb ik een systeem gebouwd dat incidenten bij houdt en verwerkt (topdesk online v0.1 zeg maar)
Ik ben redelijk bedreven (al zeg ik het zelf) in PHP en dus heb ik besloten om lekker uitgebreid bezig te gaan.
Ik heb dus in OOP een paar classes geschreven waaronder een Caching en Templating class.
Beide classes werken prima echter zit ik met één klein probleempje.
Ik maak vanuit verschillende template één grote file die gecached wordt. Echter kijkt het templating systeem elke keer dat het aangeroepen wordt of de verschillende losse templates ook aangepast zijn. Dit gebeurt door middel van de filemtime() functie in PHP. Vervolgens wordt aan de hand daarvan besloten of de cache gerefresht moet worden of dat het zo nog goed is. Nu was ik dit dus aan het testen en nu kwam ik er achter dat de resultaten van filemtime door PHP zelf al gecached worden. Dit houdt in dat ik dus geduurende een korte periode de oude resultaten behoudt van filemtime. Nu kwam ik er ook achter dat er een functie is die dit verhelpt genaamd clearstatcache().
Het probleem doet zich echter voor dat het LIJKT alsof de clearstatcache functie helemaal niets doet. De modified time van een bestand blijft ongeveer een minuut o.i.d. het zelfde. Echter wordt deze minuut gereset zodra er binnen die minuut gerefreshed wordt (daar lijkt het in ieder geval op).
Is er iemand die hier enige ervaring mee heeft of mij op weg kan helpen om dit toch op te lossen.
Ik begrijp namelijk niet waarom PHP zich zo gedraagt.
Ik zou zo niet weten wat voor code jullie wouden zien m.b.t. dit probleem. De enige regels die er betrekking to hebben zijn:
Mochten jullie nog verder vragen hebben hoor ik het graag
Ik zit met een klein probleempje.
Voor mijn eind opdracht PHP (school) heb ik een systeem gebouwd dat incidenten bij houdt en verwerkt (topdesk online v0.1 zeg maar)
Ik ben redelijk bedreven (al zeg ik het zelf) in PHP en dus heb ik besloten om lekker uitgebreid bezig te gaan.
Ik heb dus in OOP een paar classes geschreven waaronder een Caching en Templating class.
Beide classes werken prima echter zit ik met één klein probleempje.
Ik maak vanuit verschillende template één grote file die gecached wordt. Echter kijkt het templating systeem elke keer dat het aangeroepen wordt of de verschillende losse templates ook aangepast zijn. Dit gebeurt door middel van de filemtime() functie in PHP. Vervolgens wordt aan de hand daarvan besloten of de cache gerefresht moet worden of dat het zo nog goed is. Nu was ik dit dus aan het testen en nu kwam ik er achter dat de resultaten van filemtime door PHP zelf al gecached worden. Dit houdt in dat ik dus geduurende een korte periode de oude resultaten behoudt van filemtime. Nu kwam ik er ook achter dat er een functie is die dit verhelpt genaamd clearstatcache().
Het probleem doet zich echter voor dat het LIJKT alsof de clearstatcache functie helemaal niets doet. De modified time van een bestand blijft ongeveer een minuut o.i.d. het zelfde. Echter wordt deze minuut gereset zodra er binnen die minuut gerefreshed wordt (daar lijkt het in ieder geval op).
Is er iemand die hier enige ervaring mee heeft of mij op weg kan helpen om dit toch op te lossen.
Ik begrijp namelijk niet waarom PHP zich zo gedraagt.
Ik zou zo niet weten wat voor code jullie wouden zien m.b.t. dit probleem. De enige regels die er betrekking to hebben zijn:
PHP:
1
2
3
4
| <?php clearstatcache(); // note ik heb clearstatcache(true) en clearstatcache(true, $template) ook al geprobeerd $mtime = filemtime($template); ?> |
Mochten jullie nog verder vragen hebben hoor ik het graag