j'ai voulu l'appeler comme ça car ça me fait penser à de l'Ajax à l'envers (oui, je sais, je ne suis pas allé chercher ça très loin)
l'ajax est l'utilisation de javascript pour faire des requêtes asynchrones sur de l'XML (au départ).
Pour résumer, et pour ceux qui ne connaissent pas, une fonction javascript va "aller demander quelque chose" à une autre page de votre propre site.
Et vers un autre site, certains me demanderaient ? Je vous invite à aller consulter votre moteur de recherche favori avec la requête "cross-domain ajax"
car ça n'est pas le propos de ce "tuto"
L'auto-sus-nommé Xaja est l'utilisation de javascript par mon grand ami PHP une petite démo peut-être ?
c'est par ici : Vous devez être inscrit et présenté pour voir les liens ainsi que d'autres éléments qui peuvent être caché aux invités.
Et maintenant ?
L'explication ( pour ceux qui veulent savoir, le code est commenté ) :
- Code: Tout sélectionner
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
</head>
<title>Présentation de Xaja par vYk</title>
<body>
<!-- on crée la div qui va recevoir les messages -->
<center><div id="Xaja_div"></div></center>
<!-- -->
<!-- on crée le javascript qui va permettre de les afficher (exemple très simple de fonction) -->
<script type="text/javascript">
function Xaja_js(texte){
document.getElementById("Xaja_div").innerHTML = texte;
}
</script>
<!-- -->
<!-- and now, le PHP !-->
<?php
//////////////// vide le tampon de sortie à chaque echo
// plus d'infos ici : http://www.ghstools.fr/forum/viewtopic.php?f=56&t=866&p=3259#p3259
error_reporting(-1); /// debug dev mode
ignore_user_abort(false);
ini_set('pcre.backtrack_limit',100000000);
ini_set('pcre.recursion_limit',10000000);
ini_set('memory_limit', '1024M');
ini_set("max_execution_time", 0);
set_time_limit(0);
//@apache_setenv('no-gzip', 1); <- décommentes si tu as un serveur apache
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); ++$i) { @ob_end_flush(); }
ob_implicit_flush(1);
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// cette fonction est bien entendu un exemple qui simule
// à chaque sleep() un traitement quelconque ...
// j'ai mis la fonction Xaja() en tête de ligne pour que
// vous puissiez mieux la repérer ;)
function ma_fonction(){
Xaja("Intitialisation..."); ///// grâce à cette fonction, on affiche notre message dans la div
sleep(2);
Xaja("Bienvenus à la ferme");
sleep(1);
fonction_2();
Xaja("Poursuivons la visite...");
sleep(1);
Xaja("Chargement...");
sleep(0.8);
$a = 20;
for($i=0;$i<$a;++$i){
usleep( round(rand(50000,1000000),-2));
$b = round($i/($a-1)*100) ."% ...";
Xaja($b);
}
sleep(1);
Xaja("On arrive à la fin...");
sleep(1);
Xaja("Encore un peu de patience !");
sleep(2);
Xaja("Voilà c'est fini");
sleep(2);
Xaja("Merci de votre visite :-)");
}
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// fonction appelée dans ma_fonction, à titre d'exemple également
function fonction_2(){
for($i=1;$i<7;++$i){
$d = array("","","","jaune","vert","orange","noir");
$i<2 ? ($b="") : ($b="s");
$i<3 ? ($c="blanc") : ($c=$d[$i]);
Xaja("j'ai $i mouton$b $c$b");
sleep(1);
}
}
//////////////////////////////////////////////////////////
// ZE FONCTION qui va lancer la fonction js avec le texte qu'on veut !
// Ceci n'est qu'un exemple très simplifié, il peut être complexifié à souhait ;)
function Xaja($texte){
echo '<script type="text/javascript"> Xaja_js("'.$texte.'");</script>' ;
}
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// on lance le script
ma_fonction();
?>
<!-- on clotures les balises, ça fait plus propre et W3C compliant ;) -->
</body>
</html>
Et voilà, vous connaissez tout ce que je sais du XajA !! (enfin presque )
++ vYk