DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


Panneau latéral

Traductions de cette page?:

Découvrir DokuWiki

Options avancées

Pour les entreprises

Notre Communautée


Suivez-nous sur Facebook, Twitter et les autres résaux sociaux.

Notre politique de confidentialité

fr:devel:overview

Exploration du code source

Il s’agit d’une exploration du code source lors d’une requête /doku.php?id=start&do=show pour expliquer les bases de DokuWiki. Lorsque vous lisez ceci, vous devez avoir la source complète disponible pour profiter pleinement de ce voyage. Utilisez les liens XRef pour obtenir une version de la source pouvant être parcourue. Il existe également une page callgraph plus détaillée, incluant le processus de rendu. Beaucoup de détails sont laissés en dehors de cette description pour la simplifier.

Nom du fichier Extrait de code Description
doku.php if(!defined('DOKU_INC')) Tout commence ici en définissant le répertoire du code de base
$ACT = $_REQUEST['do'] Ensuite, nous déterminons quelle action est demandée a.k.a. do modes
require_once('init.php') over to init.php, initialize core
inc/init.php include('preload.php') précharge permet de remplacer les répertoires et la configuration en cascade
if(!defined('DOKU_CONF') définit pour l'emplacement du code
include(DOKU_INC. 'inc/config_cascade.php') prépare et charge le (s) fichier (s) global configuration
global $lang; chargez et préparez les fichiers langue en anglais pour toutes les entrées manquantes
if(!defined('DOKU_REL') crée tous les environnement définit pas déjà défini, ce qui pourrait dépendre des paramètres config
if(!headers_sent() && .. session d'initialisation et définition du cookie
require_once (DOKU_INC.'inc/load.php') autoload toutes les bibliothèques

auth_setup()
initialiser le contrôleur de plug-in, le système traitement d'événements, l'authentification et quitter après la configuration de mail
doku.php $ID = getID() De retour d'init.php, désinfectez et transformez la demande en variables globales
$INFO = pageinfo() ajouter la page métadonnées dans une variable globale, ceci inclut l'appel de auth_quickaclcheck () et de | ::: | '' if(!$INFO['exists'] ... '' | envoyer 404 pour les pages manquantes | | ::: | '' trigger_event(DOKUWIKI_STARTED)'' | appel [[action plugins abonnant l'événement DOKUWIKI_STARTED
inc/actions.php act_dispatch($ACT) faire le travail en fonction de action
if ($evt->advise_before()) ... permettre aux plugins de remplacer le comportement par défaut en utilisant l'événement ACTION_ACT_PREPROCESS
$ACT = act_clean($ACT) assainir et rediriger disabled actions dans do = show

$ACT = act_permcheck($ACT)
appelez le code de traitement pour les actions demandées lors de la vérification des autorisations ACL nécessaires. Le $ ACT pourrait changer pendant act_dispatch ().
global $INFO
global $conf
rendre les variables globales accessibles au code du template
trigger_event(ACTION_HEADERS_SEND) appeller action plugins abonnant l'événement ACTION_HEADERS_SEND
include(template('main.php')) sur le script principal du modèle sélectionné
lib/tpl/default/main.php
tpl_metaheaders()
le script principal template consiste en des éléments de conception HTML faisant appel à des méthodes php pour des contenus tels que des méta-têtes, des boutons, des éléments de navigation dans le fil d'Ariane, etc., tous disponibles dans le fichier inc / template.php
tpl_content() ici la page wiki actuelle est créée
inc/template.php
trigger_event(TPL_ACT_RENDER) appel à tpl_content_core () à l'aide de l'événement TPL_ACT_RENDER
switch($ACT) sélectionne le contenu en fonction de l'action, les appels de base faire = montrer html_show ()
inc/html.php $html = p_wiki_xhtml(…) qui utilise une version XHTML mis en cache de la page OR déclenche le renderer pour restituer les instructions mises en cache au format XHTML OR, de façon à transformer le wiki texte dans les instructions en premier.
inc/template.php trigger_event(TPL_CONTENT_DISPLAY) de retour dans tpl_content () action plugins a une dernière chance de modifier le code HTML brut avant la sortie en utilisant l'événement TPL_CONTENT_DISPLAY] | | [[xref>doku.php trigger_event(DOKUWIKI_DONE) terminez en appelant action plugins en souscrivant à l'événement DOKUWIKI_DONE à la fin du script principal de modèle
fr/devel/overview.txt · Dernière modification: 2018-11-16 11:52 par hieradex