Accueil
Yet Another Killer Product
Web Portal System
Dernière mise à jour le Lundi 31 Octobre 2022 à 09:51:00

YakLang est le Langage de Programmation intégré
à YAK Pro - Web Portal System !

  • Ce langage permet de manipuler les objets de © YAK Pro ® - Web Portal System.
  • La syntaxe utilisée est un sous-ensemble simplifié de celle de php : Vous n'avez pas d'effort supplémentaire à fournir pour la maitriser.
  • Des fonctions spécifiques permettent de manipuler les objets spécifiques :
    • Les Blocs.
    • Les Plugins.
    • Les Variables.
    • Les Champs des Contacts.
  • Ce langage est utilisable par n'importe quelle personne à laquelle vous avez donné  le privilège de mettre une information sur le site.
  • Ce langage est complètement sécurisé :
    • Il permet de manipuler et d'afficher des données sur la page.
    • Aucun accès au serveur n'est possible.
  • Ce langage est optimisé :
    • Un pseudo-code est généré au moment où la donnée est mise à jour.
    • Lors de la consultation, le moteur exécute le pseudo-code pré-généré.

 

La Syntaxe

La syntaxe utilisée est un sous-ensemble simplifié de celle de php : Vous n'avez pas d'effort supplémentaires à fournir pour la maitriser.
Un code YakLang commence par <? et se termine par ?>

 

Les Eléments Terminaux :

  • Les Entiers
  • Les Flottants
  • Les Chaines de caractères
    • Elles sont encadrées par 2 double-guillemets : exemple "ceci est une chaine"
    • Le caractère double guillement doit être précédé par le caractère barre oblique arrière pour apparaitre dans la chaine.
      exemple :  "ceci \"est\" une chaine"
    • une répétition du caractère barre oblique arrière est utilisée pour faire figurer celle ci dans la chaine.
      exemple : "voila \\ ici"
    • Il n'y a jamais d'expansion de variable dans les chaines contrairement à php.

 

Les Variables :

Comme dans php, elle sont préfixées par le signe $
Par contre on ne peut pas les utiliser pour référencer une autre variable (pas de $$) et ne peuvent être utilisées pour appeller une fonction (pas d'appels indirects).
Les tableaux simples sont gérés. $tableau[$i]

 

Les Opérateurs :

Par ordre de priorité croissante
   
   =  +=  -=   *=   /=  assignations
 ||   &&  opérations logiques
 !=  <=  <  ==  >=  >   comparaisons
.  concaténation
|    &  opérations sur bits
+  -  addition soustraction
*  /  %  multiplication division modulo
!  non binaire
 ^  puissance
++   --  pre post incrémentation décrémentation
   

 

Les Instructions :

  • echo
  • if
  • for
  • switch
  • return (dans une fonction).

 Instructions supplémentaires spécifiques à YakLang :

  • import
    Permet d'importer des variables "superglobales"...
    Pour des raisons de performance, l'importation ne se fait effectivement que lors du  1er  import dans  la même page... Lors des imports suivants, seule la référence est mise à jour...
    Liste des variables importables :
  • import $_YAK_ENV;

Récupère un tableau associatif de l'environnement d'exécution de YAK Pro - Web Portal System

  • import $_YAK_ENV["site_last_modified"];

L'élément  site_last_modified est ajouté au tableau précédent.

  • import $_YAK_PARAM;

Récupère un tableau associatif des paramètres du site géré par YAK Pro - Web Portal System

  • import $_YAK_THEME;

Récupère un tableau associatif des éléments de Thème Graphique du site géré par YAK Pro - Web Portal System.
Attention :
Le Thème graphique peut ne pas encore être défini au "OnLoad" si celui-ci dépends du sujet. Pour cette raison, et contrairement à la règle générale, l'import de cette variable entraine une importation à chaque fois...

  • import $_SERVER;

Récupère un sous-ensemble de l'équivalent php.
Les valeurs transmises sont celles qui ne donnent pas trop d'informations pouvant aider directement au piratage.

 

Les Fonctions :

YakLang permet  à l'utilisateur de définir et d'appeler des fonctions.

La définition d'une fonction se fait comme pour php par le mot-clé function.
Une fonction n'est par défaut visible qu'à l'intérieur du bloc de code où elle est définie.
Vous pouvez utiliser global function pour déclarer une fonction qui sera visible pour tous les blocs de code ultérieurs...
La rubrique Plus, Paramètres, Scripts  du menu d'administration permet de définir du code YakLang qui sera inclus à chaque début de page.

YakLang met aussi à votre disposition des fonctions prédéfinies.

Celles-ci peuvent se classer en 3 catégories :

  • Celles qui sont spécifiques à YakLang et manipulent des données spécifiques à © YAK Pro ® - Web Portal System.
  • Celles qui auraient très bien pu exister dans php...
  • Celles qui sont à peu de choses près équivalentes à leurs homologues php.

 

Les Fonctions Spécifiques à YakLang

  • _block_value

Exemple d'utilisation :

  • $x  = _block_value("block_name");

Si le visiteur du site n'a pas le privilège de visualiser le bloc, la fonction renvoie vide...

(pour memo : la visibilité d'un bloc dépend du privilège et de la langue, la valeur d'une variable dépend du thème graphique et de la langue.)

 

  •  _captcha

 a documenter...

  • _contact_field_value

Exemple d'utilisation :

  • $x  = _contact_field_value("firstname");

Si le visiteur du site n'a pas le privilège de visualiser le champ du contact le concernant, la fonction renvoie vide...

Les différents identificateurs des champs des contacts (qu'ils soient systèmes, ou définis par l'utilisateur) sont visibles en info-bulle dans le menu d'administration à la rubrique :
Contacts,Confidentialité,Valeurs par défaut

 

  • _external_reference_value

Exemple d'utilisation :

  • $x  = _external_reference_value("external_reference_name");

 

  • _translate

Exemple d'utilisation :

  • $x  = _translate("translate_identifier");

Permet d'obtenir la traduction des identificateurs de traductions, qu'ils soient systèmes, ou définis par l'utilisateur. Ceux-ci se trouvent dans les rubriques :
Plus,Langues,Traductions et
Plus,Langues,Traductions,Définitions Utilisateurs.

Si la traduction n'existe pas pour la langue courante, la traduction se fait par ordre de priorité des langues de substitution en fonction de la langue en cours. Si aucune traduction n'a pu être trouvée, alors l'identificateur est renvoyé par la fonction.

 

  • _plugin_value

Exemples d'utilisation :

  • $x  = _plugin_value("plugin_name");
  •  
  • $t_param["param1"] = $value1;
  • $t_param["param2"] = $value2;
  • $x  = _plugin_value("plugin_name",$t_param);

SI le plugin n'existe pas, ou si le visiteur du site n'a pas le privilège d'exécuter le plugin, la fonction renvoie vide...

 

  • _variable_value

Exemple d'utilisation :

  • $x  = _variable_value("variable_name");

(pour memo : la visibilité d'un bloc dépend du privilège et de la langue, la valeur d'une variable dépend du thème graphique et de la langue.)

 

   
   
   
   
   

Les Fonctions qui auraient pu être dans php...

  • date_diff

 Exemple d'utilisation :

  • $internal_date_1 = strtotime($date1);
    $internal_date_2 = strtotime("now");
    $t_diff = date_diff($internal_date_1,$internal_date_2);

La valeur de retour est un tableau associatif dont les clés sont :

  • "seconds" , "minutes" , "hours" , "days" , "weeks" , "months" , "years"
  • "delta_years" , "delta_months" , "delta_days" , "delta_hours" , "delta_minutes" , "delta_seconds"
   
   
   

Les Fonctions qui ont leurs homologues dans php...

  • mt_rand
 
  • print_r
 
  • strftime 
 
  • strtolower
 
  • strtotime
 
  • strtoupper
 
  • ucfirst 
 
  • ucwords
 
   
   
   
   

 

Valid HTML 4.01 Transitional © 2002-2015 ® YAK Pro. Tous droits réservés. | | |