Klasse im eingebetteten Webbereich mit $4d verwenden

Automatisch übersetzt von Deepl

Mit 4D 20 R9 führt 4D neue Befehle ein, die es Entwicklern ermöglichen, einen Objektkontext für $4d zu definieren, der sicherstellt, dass nur bestimmte Funktionen zugänglich sind. Bisher bedeutete die Verwendung von $4d, dass 4D Methoden im Webbereich offengelegt werden mussten, jetzt können Sie stattdessen Klassenfunktionen definieren und verwenden. Diese Verbesserung ermöglicht eine bessere Organisation, Kapselung und Sicherheit bei der Integration von 4D Funktionalitäten in Webbereiche.

HDI-Kontext_Webbereich

Zugriff auf bestimmte Methoden mit WA SET CONTEXT einschränken

Mit dem neuen WA SET CONTEXT Befehl können Entwickler ein Objekt setzen, das nur die erlaubten Funktionen für $4d enthält.

Wenn Sie zum Beispiel den Kontext eines Webbereichs mit:

var $myWAObject:=cs.WAFunctions.new()
WA SET CONTEXT ( * ; "MyWebArea"; $myWAObject)

mit der Klasse WAFunctions:

Function next()
	// Some code here
	
Function previous()
	// Some code here
	
Function current()
	// Some code here

Die einzigen $4d-Javascript-Funktionen, die im Bereich „MyWebArea“ verfügbar sind, sind:

  • $4d.next()
  • $4d.previous()
  • $4d.current()

Wenn Sie die Verwendung einiger vorhandener Projektmethoden zulassen wollen, können Sie sie in einem Objekt kapseln und es an den Befehl WA SET CONTEXT übergeben:

var $context:={}
$context.myNextMethod:=Formula(myNextMethod)
$context.myPreviousMethod:=Formula(myPreviousMethod)
$context.myCurrentMethod:=Formula(myCurrentMethod)

WA SET CONTEXT(*; "myWebArea"; $context)

und die einzigen $4d-Javascript-Funktionen, die im „MyWebArea“ verfügbar sind, werden sein:

  • $4d.myNextMethod()
  • $4d.meineVorherigeMethode()
  • $4d.myCurrentMethod()

Ihre Webseiten werden wie zuvor ausgeführt, aber jetzt sind Sie sicher, dass nur diese 3 Methoden aufgerufen werden können.

Fazit

Mit diesem neuen Befehl gibt Ihnen 4D eine bessere Kontrolle darüber, wie $4d in Ihren Webbereichen arbeitet. Sie können nun den Zugriff auf die von Ihnen ausgewählten Funktionen beschränken, was Ihre Anwendung sicherer und übersichtlicher macht. Außerdem hilft die Verwendung von Klassenmethoden mit $4d dabei, Ihren Code sauberer zu halten und leichter zu verwalten.

Möchten Sie mehr erfahren? Schauen Sie sich die offizielle Dokumentation hier an.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.