bufferisation et interpretation partielle du php

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2010, 14:32

A partir d'une Template (php et mysql) un peu lourde en terme de requête, je souhaite créer des fichiers statiques.
J'utilise les fonctions OB_ pour intercepter les flux de sortie du serveur php et créer des fichiers sans requête sql. Mais j'ai besoin aussi de garder une inclusion dynamique d'un fragment html.
Peut on éviter l'interprétation d'une partie du code php lors de la bufferisation ou existe il d'autres solutions d'include, ajax et js, ... ?

ViPHP
ViPHP | 5462 Messages

27 avr. 2010, 14:36

hello tu peu utilise __halt_compiler, mais bon si ton code est vraiment long a exécuter tu peu en effet te tourner vers ajax qui ira récupérer les données ou tu veux et quand tu veux :wink:

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2010, 14:45

ok mais comment ecrire dynamiquement du code ajax-php dans un fichier issu de la bufferisation. Le code va être interpreté avant ???

ViPHP
ViPHP | 5462 Messages

27 avr. 2010, 14:47

ok mais comment ecrire dynamiquement du code ajax-php dans un fichier issu de la bufferisation. Le code va être interpreté avant ???
tu feras pas de buffer, c'est l'ajax qui ira compléter le reste

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2010, 14:49

je comprends merci

Eléphant du PHP | 422 Messages

27 avr. 2010, 14:53

hello
A partir d'une Template (php et mysql) un peu lourde
qui est ?


++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2010, 15:41

exemple de template.php
<html>
... <requête 1, requête 2, requête 3, conditions, ...>
<include ...>
</html>

je souhaite que l'include ne soit pas interprété au niveau de la buffurisation pour qu'il puisse être interprété au niveau du cache généré

Buffurisation
<?php
ob_start();
include 'template.php?param=x';
$tampon= ob_get_contents();
file_put_contents('cache/fichierx.php', $tampon) ;
ob_end_clean();
?>

Resultat souhaité
fichierx.php

<html>resultats de l'interpretation php mysql
<include>
</html>