Adobe ColdFusion の新機能および機能強化

ColdFusion(2018 リリース)の新機能と変更点

New-interface

ColdFusion Administrator の新しいユーザーインターフェイス

ColdFusion Administrator では、ユーザーインターフェイスがより直感的でわかりやすくなりました。タブの配置が調整され、ナビゲーションが容易になっています。このリリースでは、検索機能も強化されています。検索文字列を入力すると、検索語句の候補が表示されます。

詳しくは、Administrator の新しい UI を参照してくださ

Performance

パフォーマンス監視ツールセット

Adobe ColdFusion エンタープライズ版およびスタンダード版の 2018 リリースでは、高パフォーマンスの ColdFusion エンジンと同様にアプリケーションを最適化するためのまったく新しいソリューションであるパフォーマンス監視ツールセットが追加されています。

詳しくは、パフォーマンス監視ツールセットを参照してください。


_Colour-Presets-Command-Line-Interface-and-REPL

コマンドラインインターフェイスと REPL

ColdFusion(2018 リリース)には、Read-Eval-Print-Loop(REPL)が導入されています。REPL シェルは、1 つのユーザー入力を受け取り、入力を評価して、結果をユーザーに返すインタラクティブなプログラミング環境です。

詳しくは、REPL を参照してください。

REST-Playground

REST Playground

新しい REST Playground で ColdFusion REST サービスをお試しください。REST Playground を使用して、Web サービスのテスト、開発および文書化をおこなえます。

詳しくは、ColdFusion Builder(2018 リリース)の REST の機能強化を参照してください。


New-caching-engines

新しいキャッシュエンジン

次の新しいエンジンを使用したキャッシュによってパフォーマンスが向上しています。

  • Memcached
  • JCS
  • Redis
  • カスタムキャッシュプラグイン

詳しくは、キャッシュ機能の強化を参照してください。

Changes-in-ColdFusion-Builder

ColdFusion Builder の変更点

ColdFusion Builder(2018 リリース)の変更点は次のとおりです。

  • リモートシステムからコードへのアクセス
  • コードプロファイラーデータをインポート
  • Cordova の導入
  • Eclispse から Oxygen へのアップグレード

詳しくは、ColdFusion Builder の新機能を参照してください。


その他の変更

オプションのセミコロン

このリリースでは、cfscript でセミコロンをオプションにするためのサポートを追加しました。例えば、以下のスニペットでは通常、ステートメント末尾にセミコロンを使用しません。

<cfscript>
	animals = ['cat','dog','fish','bison']
	lastAnimal=animals.last()
	writeOutput("The last element of the array is: " & lastAnimal)
</cfscript>

セミコロンは、FOR ループではオプションではありません。ただし、ループではセミコロンはオプションです。

<cfscript>
	for(i=1;i<9;i++){
		for(j=1;j<=i;j++)
			writeoutput("*");
		writeoutput("<br/>");
	}
</cfscript>

ColdFusion タグの汎用シンタックスではセミコロンはオプションです。次に例を示します。

<cfscript>
	cfhttp(url="http://localhost:8500", timeout="60")
</cfscript>

セミコロンは、スクリプトベースのコンポーネントでもオプションです。次に例を示します。

component{
	function myfunc(){
		writeoutput("Optional Semi Colon Example")
		}
}

タグのクロージャでは、

セミコロンもオプションですが、タグ内のクロージャ関数の本文を定義します。次に例を示します。

<cfset closureFunc1=function(){
		return true
	   }>

新しい演算子

このリリースでは、com、component、CORBA、Java、Net、webservice 用に新しい演算子/シンタックスがサポートされています。次に例を示します。

  • obj1 = new java("java.lang.String")
  • m = new  component("employee ")

次に例を示します。

Employee.cfc

component {
	public numeric function getPaid() {
		var salary=40*20;
		return salary;
	}
}

Manager.cfc

component extends="employee"{
	public numeric function getPaid(){
		var salary=1.5*Super.getPaid();
		return salary;
	}
}

President.cfc

component extends="manager"{
	public numeric function getpaid(){
		var salary=1.5*Super.getPaid();
		return salary;
	}
}

Payday.cfm

<cfscript>
	empObj=new component:employee();
	manObj=new component:manager();
	presObj=new component:president();
	writeOutput("Employee earns: " & empObj.getPaid() & "<br/>");
	writeOutput("Manager earns: " & manObj.getPaid() & "<br/>");
	writeOutput("President earns: " & presObj.getPaid() & "<br/>");
</cfscript>

関数の名前付きパラメーター

名前付きパラメーター は、引数を、パラメーターリスト内のパラメーターの位置ではなく、パラメーターの名前と関連付けて、パラメーターの引数を指定できます。名前付きパラメーターは関数やコンストラクタで使用できます。

以前のバージョンの ColdFusion では、名前付きパラメーターはユーザー定義関数やコンポーネントコンストラクタで許可されていました。 

ColdFusion(2018 リリース)では、ビルトイン関数で名前付き関数を使用できます。

以前のバージョンの ColdFusion では、BIF 内のパラメーターの順序も修正する必要がありました。順序は、どの値をどの目的で使用するかを ColdFusion が識別できる唯一の方法であったためです。名前付きパラメーターを使用すれば、パラメーターの位置や順序は問題でなくなるので、引数はリストに表示された順に評価されます。

パラメーター名については、このドキュメントを参照してください。

<cfscript>
	myarray= [4,2,1,3]
	writeoutput(ArrayFind(array=myarray, value="4")) 
	writeoutput(Arrayfind(callback=function(index,item){
		if(index == item)
			return true
			else
				return false
	}, array=myarray))
</cfscript>

ArrayFind では、配列内で見つかった値、または検索ロジックがあるコールバックのいずれかを使用できます。上記のスニペットのように、両方の値またはコールバックと名前付きパラメーターを使用することもできます。

文字列リテラル

ColdFusion のこのリリースでは、文字列リテラルがサポートされます。次に例を示します。

以下のスニペットでも、同じ出力 olleh が生成されます。

<cfscript>
	str="hello";
	writeoutput(str.reverse());
</cfscript>

1 つ以上のメソッドを文字列リテラルに変更することもできます。次に例を示します。

<cfscript>
	writeOutput("ABCDEFGHIJ".substring(1,7).substring(2,5).lCase().len());
</cfscript>

Hibernate のアップグレード

ColdFusion(2018 リリース)では、Hibernate 5.2 を使用します。重要なポイントは次のとおりです。

  • Hibernate 5 XML パーサーでは、JAXP(Java API for XML Processing)を使用するようになりました。これにより、hbmxml ORM マッピングファイルでクラス名を宣言する方法が変わりました。例えば、cfc:cfsuite.orm.settings.dialect.invalid_dialect.invalid_dialectcfc.cfsuite.orm.settings.dialect.invalid_dialect.invalid_dialect に変わっています。
  • Hibernate 5 では、seqhilo ジェネレーターがサポートされなくなりました。
  • Hibernate 5 では、offset queryoptions がサポートされなくなりました。非効率的で、基になるデータベースのほとんどはオフセットをサポートしているためです。ただし、この機能は、Hibernate 設定ファイルでフラグの hibernate.legacy_limit_handler を true に設定することで有効にできます。
  • Hibernate 5 のスキーマのアップデートおよび書き出しでは、テーブル名の大文字と小文字の区別が検証されます。CFC とデータベースで定義されているテーブル名の大文字と小文字が異なる場合は、適切に機能しません。Hibernate の以前のバージョンでは、CFC とデータベースで定義されているテーブル名で大文字と小文字が異なっていてもエラーは発生しませんでした。

wsconfig ツールの変更点

wsconfig ツールに、コネクターの調整に関連する新しい設定が 2 つ追加されました。

次のオプションがあります。

  • ハートビートの間隔(秒単位):コネクターの負荷データを ColdFusion に送信する間隔(秒単位)。
wsconfig

新しい管理 API

verifyRedisCacheStorageConnection

説明:Redis キャッシュストレージへの接続を確認します。

シンタックス:

void verifyRedisCacheStorageConnection (sessionStorageHost, numeric sessionStoragePort, sessionStoragePassword)

パラメーター

必須/オプション

デフォルト

説明

sessionStorageHost

オプション

Any

Redis キャッシュストレージのホスト名。

sessionStoragePort

オプション

Numeric

Redis キャッシュストレージのポート番号。

sessionStoragePassword

オプション

Any

Redis キャッシュストレージのパスワード。

setServerCachingEngine

説明:サーバーレベルでキャッシュエンジンを変更します。

シンタックス:

void setServerCachingEngine (required engine)

パラメーター

必須/オプション

デフォルト

説明

engine

必須

Any

  • Ehcache
  • JCS
  • Memcached
  • Redis

setJCSClusterDsnName

説明:JCS クラスターのデータソースを設定します。

シンタックス:

void setJCSClusterDsnName (required dsn, required boolean createTables)

パラメーター

必須/オプション

デフォルト

説明

dsn

必須

Any

データソースの名前。

createTables

必須

Any

テーブルを作成するかどうか。

setCachingRedisServer

説明:Redis のキャッシュエンジンを設定します。

シンタックス:

void setCachingRedisServer (required host, required port, required password, required boolean cluster)

パラメーター

必須/オプション

デフォルト

説明

host

必須

any

サーバーのホストアドレス。

port

必須

any

サーバーのポート番号。

password

必須

any

サーバーのパスワード。

cluster

必須

Boolean

Redis でクラスターを有効にするかどうか。

getMemcachedServer

説明:Memcached キャッシュエンジンの詳細を取得します。

シンタックス:

any getMemcachedServer ()

ColdFusion(2018 リリース)で修正されたバグ

修正されたバグのリストについては、修正されたバグを参照してください。

ColdFusion(2018 リリース)の既知の問題

既知の問題のリストについては、既知の問題を参照してください。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー