Con 4D 20 R9, 4D introduce nuovi comandi che consentono agli sviluppatori di definire un contesto di oggetti per $4d, garantendo l’esposizione solo di funzioni specifiche. In precedenza, utilizzare $4d significava esporre i metodi di 4D all’area web, mentre ora è possibile definire e utilizzare funzioni di classe. Questo miglioramento consente di migliorare l’organizzazione, l’incapsulamento e la sicurezza nell’integrazione delle funzionalità 4D nelle aree Web.
Limitazione dell’accesso a metodi specifici con WA SET CONTEXT
Con il nuovo WA SET CONTEXT gli sviluppatori possono impostare un oggetto contenente solo le funzioni consentite per $4d.
Ad esempio, se si imposta il contesto di un’area Web con:
var $myWAObject:=cs.WAFunctions.new()
WA SET CONTEXT ( * ; "MyWebArea"; $myWAObject)
con la classe WAFunctions:
Function next()
// Some code here
Function previous()
// Some code here
Function current()
// Some code here
Le uniche funzioni javascript di $4d disponibili nell’area “MyWebArea” sono:
- $4d.next()
- $4d.precedente()
- $4d.current()
Allo stesso modo, se si vuole consentire l’uso di alcuni metodi del progetto esistenti, è possibile incapsularli in un oggetto e passarlo al comando WA SET CONTEXT :
var $context:={}
$context.myNextMethod:=Formula(myNextMethod)
$context.myPreviousMethod:=Formula(myPreviousMethod)
$context.myCurrentMethod:=Formula(myCurrentMethod)
WA SET CONTEXT(*; "myWebArea"; $context)
e le uniche funzioni javascript di $4d disponibili nella “MyWebArea” saranno:
- $4d.myNextMethod()
- $4d.myPreviousMethod()
- 4d.mioMetodoCorrente()
Le pagine Web verranno eseguite come prima, ma ora si è certi che solo questi 3 metodi possono essere richiamati.
Conclusione
Con questo nuovo comando, 4D vi offre un migliore controllo sul funzionamento di $4d nelle vostre aree web. È ora possibile limitare l’accesso alle sole funzioni scelte, rendendo la vostra applicazione più sicura e organizzata. Inoltre, l’uso di metodi di classe con $4d aiuta a mantenere il codice più pulito e facile da gestire.
Volete saperne di più? Consultate la documentazione ufficiale qui.