Outils pour utilisateurs

Outils du site


local:moodlescript:syntaxspecification

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
local:moodlescript:syntaxspecification [2019/03/26 13:21]
admin [Arguments, identifiers and variables]
local:moodlescript:syntaxspecification [2019/03/26 13:38]
admin [Arguments, identifiants et variables]
Ligne 86: Ligne 86:
 L'​expression ci-dessus invoquera la fonction ''​local_ent_installer_get_teacher_cat_idnumber()''​ du plugin local ''​local_ent_installer'',​ en allant la chercher dans le fichier ''​locallib.php''​ ( ou ''​lib.php''​ par defaut). La fonction devra retourner l'​identifiant attendu. Dans l'​exemple ci-dessus, la fonction devra retourner le numéro d'​identification de l'​objet administrable souhaité. L'​expression ci-dessus invoquera la fonction ''​local_ent_installer_get_teacher_cat_idnumber()''​ du plugin local ''​local_ent_installer'',​ en allant la chercher dans le fichier ''​locallib.php''​ ( ou ''​lib.php''​ par defaut). La fonction devra retourner l'​identifiant attendu. Dans l'​exemple ci-dessus, la fonction devra retourner le numéro d'​identification de l'​objet administrable souhaité.
  
-You cannot pass any parameters to this callso the identifier must be fully determined using current environment globals such as $USER, $COURSE, etc. to compute the expected identifier.+Vous ne pouvez pas passer de paramètres à cet appelLa fonction invoquée devra donc pouvoir fournir la réponse par la seule connaissance du contexte courant, grâce aux variables globales de moodle telles que $USER, $COURSE, etc.
  
-Here is a sample of an application function that computes the current user's owned category to move a course in:+Voici un exemple développé de l'usage d'une telle fonction qui obtient l'​identifiant de la catégorie attribuée à un utilisateur lors de la création d'un cours:
  
     /**     /**
Ligne 109: Ligne 109:
      }      }
  
-Called in a moodlescript stack contextit will compute the category idnumber of the current userso we can write a moodlescript move instruction ​as follows, moving the current course to the adequate ​destination:​+Appelé dans un contexte d'​exécution d'un Moodlescriptelle calculera l'​identifiant de catégorie pour l'​utilisateur "​actuellement détenteur"​ de la session couranteet nous pourrons écrire l'instruction ​de script suivante qui déplacera le cours "​courant"​ dans la destination ​souhaitée pour l'​utilisateur courant (celui au nom duquel le moteur de script est exécuté):
  
     MOVE COURSE current TO idnumber:​func:​local_ent_installer@get_teacher_cat_idnumber ​     MOVE COURSE current TO idnumber:​func:​local_ent_installer@get_teacher_cat_idnumber ​
  
-=== Literal Argument ===+Lire plus loin pour la notion de contexte courant et le méta-identifieur "​current"​.
  
-Literal ​arguments ​are simple words or stringsThere is at the moment a restriction on syntax as strings are not specifically delimited (or only delimited by keywords)So strings should not contain keywords expressionsthis is likely why we chose keywords in strict uppercaseto minimize syntactic ​collision ​with literal usual strings.+=== Arguments littéraux === 
 + 
 +Les arguments ​littéraux sont des mots simples ou des chaines de caractèreDans la version actuelle du moteur, les chaînes ne sont pas délimitée syntaxiquement autrement que par la survenue d'un mot-clef attendu de l'​expressionLa conséquence est qu'il faudra éviter d'​utiliser des littéraux qui utilisent les mots clefs du MoodlescriptC'est une des raisons principales pour laquelle nous avons décidé de forcer l'​expression en majuscules de ces mots clefscar cela diminue le risque de collision ​avec du texte usuel.
  
 === Variables === === Variables ===
  
-We may need to inject some environmental values in the script ​to replace some non terminal placeholdersAn execution stack can be fed at launch time with a global ​context data stub that will be merged with each instruction ​local context ​(adding or overriding values). Global context variables can be placed whereever in script statements or attribute lists using the Moodle common ​SQL named variable form:+Nous aurons probablement à injecter dans le script ​des valeurs provenant de variables contextuelles. Pour cela nous mettrons en place des symboles "non terminaux"​ qui seront remplacés par leur valeur à l'​exécutionLa pile d'​exécution d'un script peut être chargée au départ avec un contexte ​global ​de données qui sera abondé au contexte ​local qu'​utilise une instruction pendant son exécution ​(le contexte local lui ajoutant ou surchargeant des valeurs). Ces valriables peuvent être placées n'​importe où dans la syntaxe, en respectant la forme typique des arguments ​SQL dans une requête au format Moodle ​:
  
    :​varname    :​varname
  
-To be validthe placeholder expression MUST have at least one space character before it.+Pour être reconaissablel'​appel à la variable DOIT être précédée par au moins un espace.
  
-You may obtain a list of the available ​variables ​in the stack logger using the following ​instruction:​+Une liste complète des variables ​de contexte disponibles pour les instructions peut être visualisée dans la trace d'​exécution par l'instruction ​spéciale ​:
  
    LIST GLOBALS    LIST GLOBALS
  
-this will outpute.g. in the admin tool console, giving the console ​environment preset variables+Ceci afficherapar exdans la console ​Moodlescript des outils d'​administration ​
  
    > GLOBAL CONTEXT    > GLOBAL CONTEXT
Ligne 137: Ligne 139:
    > siteshortname:​ DEV31    > siteshortname:​ DEV31
  
-Any local invocation ​of a MoodleScript ​stack may run the stack with his own global environment variable setto serve some specific component scoped scripting needs+//Usage en intégration : // 
 + 
 +Toute invocation ​d'une pile d'​exécution ​MoodleScript ​peut être chargée avec un contexte d'​entrée de départpermettant à tout plugin d'y injecter le contexte dont il a besoin pour l'​exécution de ses propres scriptlets
  
 ==== Special keywords (metas) ==== ==== Special keywords (metas) ====
local/moodlescript/syntaxspecification.txt · Dernière modification: 2024/04/04 15:52 (modification externe)