Extension:Loops/fr

L'extension Loops fournit des pour exécuter les boucles.

Actuellement, cette extension est maintenue au niveau de base par MGChecker.

effectue une boucle (c'est-à-dire qu'il analyse plusieurs fois une instruction donnée de bloc de balisage wiki) tant que l'évaluation du balisage de la condition est une valeur non vide.


 * Exemples:

Balisage Wiki :

Fait ceci :


 * 0
 * 1
 * 2
 * 3
 * 4

peut également être utilisé dans un modèle pour simuler un tableau numéroté. Si la page "Template:Loops Test" contient

alors le balisage wiki

produit


 * zéro
 * un
 * deux
 * trois
 * quatre

Il est important de noter que les espaces blancs, y compris les retours à la ligne, les tabulations et les espaces, sont supprimés au début et à la fin de chaque argument de ces fonctions d'analyse. Si cela n'est pas souhaitable, l'ajout de caractères autres que des espaces blancs (y compris le codage HTML pour un caractère d'espace blanc ) empêchera la suppression (d'où les balises  dans les exemples ci-dessus).

fonctionne exactement comme, à l'exception du fait que l'instruction block est garantie d'être analysée et affichée (si elle aboutit à un texte affichable) au moins une fois. Ceci est fait avant que le texte de la condition soit évalué.

analyse et affiche à plusieurs reprises &lt;wiki markup> un nombre de fois égal à la valeur absolue de &lt;number of loops to be performed>. &lt;Starting value> est placé dans une variable (accessible par la fonction d'analyseur  de l'extension ) en utilisant le nom &lt;variable name>. Après chaque boucle, la variable est incrémentée de un si &lt;number of loops to be performed> est positif, ou diminuée de un si &lt;number of loops to be performed> est négatif.

Le code suivant :
 * Exemples :

produit


 * C'est le passage 4 et il en reste encore 3
 * C'est le passage 5 et il en reste encore 2
 * C'est le passage 6 et il en reste encore 1
 * C'est le passage 7 et il en reste encore 0

(expérimental)
doit être utilisé dans les modèles.

Il prend les arguments qui sont transmis au modèle et les met dans des variables accessibles par la fonction d'analyse  de l'extension.

Cette fonction itère sur chaque argument dont le nom commence par &lt;prefix>.

A chaque itération, il met le nom de l'argument moins &lt;prefix>, into &lt;key> comme si il appelait.

Il prend ensuite la valeur de l'argument et le met dans &lt;value> par une méthode similaire.

L'instruction du bloc est ensuite développée.

L'instruction du bloc peut contenir  et   pour accéder aux arguments stockés.
 * Exemple

Si la page Template:Loops Test contient

alors le balisage wiki

produces


 * 1 = val1
 * 5 = val5
 * ument = value

(expérimental)
fonctionne de la même manière que  avec deux différences majeures : il ne prend pas d'argument préfixe, et il fonctionne uniquement que sur des arguments numérotés s'ils sont explicitement numérotées,

ou numérotée implicitement.

Le mélange de ces méthodes dans un seul appel de modèle peut entraîner le réécrasement des valeurs, alors faites attention.


 * Exemples

Si Template:Loops Test est modifié pour contenir :

alors

il en résultera


 * 1 = Apricot
 * 2 = Caramel slice
 * 5 = Eclair

Configuration
Ces variables de configuration doivent être initialisées dans le fichier  après l'inclusion de cette extension.


 * Ce paramètre définit le nombre maximum de boucles autorisées sur une page (par défaut ). S'il vaut , les boucles s'exécutent avec les limites de l'environnement PHP. Ce paramètre n'affecte ni les fonctions d'analyse   ni   ,
 * Ce paramètre définit le nombre maximum de boucles autorisées sur une page (par défaut ). S'il vaut , les boucles s'exécutent avec les limites de l'environnement PHP. Ce paramètre n'affecte ni les fonctions d'analyse   ni   ,


 * Variable de configuration (de type array) pour définir les fonctions Loops à activer. Par défaut, toutes les fonctions sont activées si l'extension est également installée. Si l'extension Variables n'est pas installée, ,   et   seront désactivés car ils ne fonctionnent pas sans qu'elle soit installée. Pour activer les fonctions   et   seulement, vous pouvez utiliser :
 * Variable de configuration (de type array) pour définir les fonctions Loops à activer. Par défaut, toutes les fonctions sont activées si l'extension est également installée. Si l'extension Variables n'est pas installée, ,   et   seront désactivés car ils ne fonctionnent pas sans qu'elle soit installée. Pour activer les fonctions   et   seulement, vous pouvez utiliser :



Voir aussi

 * - autre extension pour les boucles
 * Module:Loops