Con 4D 20 R9, 4D introduce nuevos comandos que permiten a los desarrolladores definir un contexto de objeto para $4d, asegurando que sólo se expongan funciones específicas. Anteriormente, el uso de $4d significaba exponer métodos 4D al área web, pero ahora, puede definir y utilizar funciones de clase en su lugar. Esta mejora permite una mejor organización, encapsulación y seguridad cuando se integran funcionalidades 4D en áreas web.
Limitar el acceso a métodos específicos con WA SET CONTEXT
Con el nuevo comando WA SET CONTEXT los desarrolladores pueden definir un objeto que contenga sólo las funciones permitidas para 4D.
Por ejemplo, si define el contexto de un área web con:
var $myWAObject:=cs.WAFunctions.new()
WA SET CONTEXT ( * ; "MyWebArea"; $myWAObject)
con la clase WAFunctions:
Function next()
// Some code here
Function previous()
// Some code here
Function current()
// Some code here
Las únicas funciones javascript de $4d disponibles en el área «MyWebArea» son:
- $4d.next()
- $4d.previous()
- $4d.current()
Del mismo modo, si desea permitir el uso de algunos métodos existentes del proyecto, puede encapsularlos en un objeto y pasarlo al comando WA SET CONTEXT:
var $context:={}
$context.myNextMethod:=Formula(myNextMethod)
$context.myPreviousMethod:=Formula(myPreviousMethod)
$context.myCurrentMethod:=Formula(myCurrentMethod)
WA SET CONTEXT(*; "myWebArea"; $context)
y las únicas funciones javascript de $4d disponibles en el «MyWebArea» serán:
- $4d.myNextMethod()
- $4d.miMétodoAnterior()
- $4d.miMétodoActual()
Sus páginas Web se ejecutarán como antes, pero ahora está seguro de que sólo esos 3 métodos pueden ser llamados.
Conclusión
Con este nuevo comando, 4D le da un mejor control sobre como $4d trabaja en sus áreas web. Ahora puede limitar el acceso sólo a las funciones que elija, haciendo su aplicación más segura y organizada. Además, el uso de métodos de clase con $4d ayuda a mantener su código más limpio y fácil de manejar.
¿Quiere saber más? Consulte la documentación oficial aquí.
Comments are not currently available for this post.