Avec 4D 20 R9, 4D introduit de nouvelles commandes qui permettent aux développeurs de définir un contexte d’objet pour $4d, en s’assurant que seules des fonctions spécifiques sont exposées. Auparavant, l’utilisation de $4d signifiait l’exposition des méthodes 4D à la zone web, mais désormais, vous pouvez définir et utiliser des fonctions de classe à la place. Cette amélioration permet de mieux organiser, encapsuler et sécuriser l’intégration des fonctionnalités 4D dans les zones web.
Limiter l’accès à des méthodes spécifiques avec WA SET CONTEXT
Avec la nouvelle commande WA SET CONTEXT les développeurs peuvent définir un objet contenant uniquement les fonctions autorisées pour 4D.
Par exemple, si vous définissez le contexte d’une zone web avec :
var $myWAObject:=cs.WAFunctions.new()
WA SET CONTEXT ( * ; "MyWebArea"; $myWAObject)
avec la classe WAFunctions:
Function next()
// Some code here
Function previous()
// Some code here
Function current()
// Some code here
Les seules fonctions javascript de $4d disponibles dans la zone « MyWebArea » sont :
- $4d.next()
- $4d.previous()
- $4d.current()
De la même manière, si vous souhaitez permettre l’utilisation de certaines méthodes existantes du projet, vous pouvez les encapsuler dans un objet et le passer à la commande WA SET CONTEXT :
var $context:={}
$context.myNextMethod:=Formula(myNextMethod)
$context.myPreviousMethod:=Formula(myPreviousMethod)
$context.myCurrentMethod:=Formula(myCurrentMethod)
WA SET CONTEXT(*; "myWebArea"; $context)
et les seules fonctions javascript de $4d disponibles dans la « MyWebArea » seront :
- $4d.myNextMethod()
- $4d.myPreviousMethod()
- $4d.myCurrentMethod()
Vos pages Web fonctionneront comme avant, mais vous êtes maintenant sûr que seules ces 3 méthodes peuvent être appelées.
Conclusion
Avec cette nouvelle commande, 4D vous donne un meilleur contrôle sur la façon dont $4d fonctionne dans vos zones web. Vous pouvez maintenant limiter l’accès aux fonctions que vous avez choisies, ce qui rend votre application plus sûre et mieux organisée. De plus, l’utilisation de méthodes de classe avec 4D permet de garder votre code plus propre et plus facile à gérer.
Vous voulez en savoir plus ? Consultez la documentation officielle ici.
Les commentaires ne sont pas disponibles pour cet article pour le moment.