Cool Forum

 
 
Cool Forum » Hacks et modifications » Demande de mods et support programmation » [TUTORIAL] Chargement d'une page
Connexions
1 connecté(s) sur le forum actuellement: 0 membre(s) | 1 invité(s)
 
 
 
<<Sujet précédent     Sujet suivant>>


 
 
Auteur Imprimer le topic Message

 
 
TiGeR

Pilier

Roarr!!!

Enregistré le 16/01/2003
Messages: 3794
Non connecté

Sujet : [TUTORIAL] Chargement d'une page
Ajouté le : 11/03/2004 23:42
Message :

Tutorial sur le chargement d’une page

Le forum utilise des require(), des variables globales,… bref autant de chose qui peuvent rendre difficile la compréhension du chargement d’une page. Nous allons donc aborder dans ce tutorial le chargement d’une page du forum.

On commence par charger les paramètres de connexions à MySQL qui se trouvent dans le répertoire secret.

require("secret/connect.php");


On appelle ensuite la page de fonctions du forum. Cette page rassemble l’intégralité des fonctions que nous pourrons utiliser sur le forum. Elle initialise également le forum.

Voici les instructions d’initialisation du forum exécutées dans le fichier functions.php :
- On initialise le timestamp de départ : $tps_start = get_microtime(); (ce timestamp sera utilisé lors du calcul du temps de génération de la page)
- On connecte le forum à la base de données MySQL et on initialise la class SQLConnect dans $sql : $sql = new SQLConnect;
- On initialise la class Template dans $tpl pour les templates
- On récupére la configuration du forum qui sera stockée dans la variable globale $_FORUMCFG : $_FORUMCFG=getconfig();


require("admin/functions.php");


Ensuite, le forum charge l’entête. C’est lui qui débute le chargement de la page HTML (chargement du header, du logo,….) et les instructions communes à toutes les pages, tel que l’initialisation du membre.

Le fichier entete.php contient de nombreuses instructions, voici un résumé de l’essentiel :
- Le chargement des données membres dans la variable globale $_USER : $_USER=getuserid();
(Il est important d’appeler la fonction getuserid() avant tout appel de getskin() ou getlangage() car le skin et le langage seront chargés selon les paramètres du membre)
- Le chargement des données skin dans la variable globale $_SKIN : getskin();
- Le chargement des informations sur les connectés actuels : $NombreConnectes=getsession();
- On initialise le début de la page HTML du forum qui sera stocké dans la variable $cache
- On effectue quelques tests comme « Est-ce que le forum est fermé ? » pour savoir si l’on doit stopper l’exécution du script.
Le fichier entete.php contient d’autres instructions, mais nous ne les évoquerons pas ici.


require("entete.php");


Généralement, il est nécessaire de charger les fichiers langage de la page en cours, ce que nous faisons avec la fonction getlangage() :

getlangage("xxxxxx");


A partir de ce moment, nous entrons dans le script propre de la page. C’est ici que les données seront traitées et mis en cache dans la variable $cache, c'est-à-dire la variable cache contenant le code HTML page. Son contenu sera affichée à la fin de l’exécution du script.

// Script de la page
// Les résultats à afficher sont stockés dans $cache



Il ne nous reste plus qu’à terminer l’exécution du script et afficher le contenu de la page.

Les différentes instructions de fin sont :
- le calcul du temps de génération de la page en utilisant le timestamp obtenu au début de la page ($tps_start).
- la mise en cache de la fin de la page (contenant le copyright, etc…)
- l’affichage de la page contenue dans la variable $cache


$tps = number_format(get_microtime() - $tps_start,4);
$cache .= $tpl->gettemplate("baspage","endhtml");
$tpl->output($cache);




Il s’agit ici du schéma global d’une page du forum. Il n’est pas recommandé de modifier ce schéma, sous peine de créer des conflits.

Je souhaite m’attarder sur la variable « $cache ». Au cours de l’exécution du script, le code HTML sera stocké au fur et à mesure dans cette variable. Ce n’est qu’à la fin du script que nous afficherons son contenu. Mais il faut garder à l’esprit que la page est stockée dans la variable $cache. Vous devez donc utiliser cette variable uniquement pour y rajouter un élément HTML provenant des templates (un ajout se fait par l’opérateur .= et non = ). Vous ne devez en aucun cas utiliser cette variable comme valeur temporaire, cela effacerait son contenu, et l’affichage de la page serait corrompu.

Nous avons abordé ici le chargement d’une page type. Ce schéma correspond à quasiment toutes les pages du forum. J’espère que ce tutorial vous aura permis de mieux comprendre le fonctionnement du forum.

fin du tutorial


CFP : Portail Web basé sur CF
CF Last Posts 0.8 : Derniers messages de votre CF sur votre site
Mods : Générateur de fichiers hackés pour CF

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de TiGeR!! Envoyer un Message Privé à TiGeR Citer ce post dans votre réponse

 
 


<<Sujet précédent     Sujet suivant>>

 
[Contacter l'administrateur] | [Aller sur CoolForum.net]

 
[12 requêtes] - [Page générée en 0.0239 secondes]
 

Powered by CoolForum v.0.8.5 beta
Copyright ©2001-2014 CoolForum.net