埋め込みウェブ領域で$4dのクラスを使用する

Deeplからの自動翻訳

4D 20 R9では、開発者が$4dのオブジェクトコンテキストを定義し、特定の機能のみを公開できるようにする新しいコマンドが導入されました。以前は、4Dを使用することは、ウェブ領域に4Dのメソッドを公開することでしたが、今は、代わりにクラス関数を定義して使用することができます。この改善により、4D機能をWebエリアに統合する際の整理、カプセル化、セキュリティが向上します。

HDI Context_Web_Area

WA SET CONTEXTによる特定メソッドへのアクセス制限

新しい WA SET CONTEXT コマンドを使用すると、開発者は4Dで許可された機能のみを含むオブジェクトを設定できます。

例えば、ウェブ領域のコンテキストを次のように設定します:

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

WAFunctions

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

MyWebArea “領域で使用可能な$4d javascript関数は次のものだけです:

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

同じように、既存のプロジェクトのメソッドを使用したい場合は、オブジェクトにカプセル化し、WA SET CONTEXT コマンドに渡します:

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

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

とすると、”MyWebArea “で使用可能な$4d javascript関数は次のようになります:

  • “MyWebArea “内で使用可能な$4d javascript関数は次のようになります。
  • $4d.myPreviousMethod()
  • $4d.myCurrentMethod()

ウェブページは以前と同じように実行されますが、この3つのメソッドだけが呼び出されるようになります。

結論

この新しいコマンドで、4D はあなたのウェブ領域で $4d がどのように動作するかを、よりよくコントロールできるようになりました。選択した機能のみにアクセスを制限することができるようになり、アプリをより安全で整理されたものにすることができます。さらに、$4dでクラスメソッドを使用することで、コードをすっきりさせ、管理しやすくなります。

もっと詳しく知りたいですか?こちらの公式ドキュメントをご覧ください。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。