2012-01-08 15 views
4

私は結果が同じであることを知っていますが、実際の違いがありますか?多分スピードか何か?これらのColdFusionコンポーネントには違いがありますか?

component { 

remote function getMath(){ 

    math = 2 + 2; 

    return math; 
    } 

} 

または

特に
<cfcomponent> 

    <cfscript> 

    remote function getMath(){ 

     math = 2 + 2; 

     return math; 
    } 

    </cfscript> 

</cfcomponent> 

または

<cfcomponent> 

    <cffunction name="getMath" access="remote"> 

     <cfscript> 

      math = 2 + 2; 

      return math; 

     </cfscript> 

    </cffunction>    

</cfcomponent> 
+0

これは、その言語の新入社員にとっては紛らわしいものです。 'cfscript'は半分焼き始めましたが、まだ100%はありません。'cfscript'がタグをつけた後に冗長化されることになるだろうということを知っているので、私はまだタグベースの構文を100%完成して使用しています。ベースの構文。 –

+1

@Ciaran Archer、私は数か月前に私が戻ってきたことはありませんフルスクリプトコンポーネントにすべての私の開発作業を切り替えました。コンポーネントで最後にタグを使用したときは覚えていませんが、おそらくラッパー関数を記述していたのでしょう。 CFScriptはまだいくつかの分野では欠けていますが、私が仕事をすることを妨げた多くの状況に立ち向かうことはありません。 – Mohamad

答えて

5

ありません。

バージョン3の完全なタグは、ColdFusion 8とColdFusionサーバーのオープンソースバージョンとの下位互換性があります。 RailoまたはOpenBD。

バージョン2は何も無しではありません。

バージョン1は、完全なColdFusion 9スクリプトバージョンです。

最初のバージョンと最後のバージョンのどちらかを選択してそれに固執することをお勧めします。バージョン2は、Coldfusion 8と下位互換性がなく、タグでもスクリプトでもありません。このようなコーディングはすぐに乱雑になるでしょう。

+0

情報ありがとうございます。 cfscriptにすべてのコンポーネントを書き始めたいのですが、cfscriptにはまだいくつかの制限事項があります。私はまた、オプション3はおそらく最良のオプションですので、私のアプリ内ですべての統一を維持したい。私はちょうどそこに何か欠点があったかどうか分からなかった。再度、感謝します。 – Sequenzia

+1

多くのColdfusionブロガーは、cfscriptとcfmlのどちらが最も優れているかについて、さまざまなことを述べています。私はあなたのバージョン1のようにcfscriptにコンポーネントを書いています。私のよりJavaのような背景のため、cfscriptコンポーネントはタグベースのものよりも読みやすくなりました。欠点は、のようなcfscriptのタグを持たないタグに対してcfscriptラッパーを書く必要があることです。したがって、すべてのタグが等しいcfscriptを持つわけではありません。 – jan

+0

あなたの質問に答えを記入することを忘れないでください。 –

2

スクリプトですべてを書き込む予定がある場合は、例1を参照してください。

あなたが望むスクリプトであれば何でもできます。欠けているものがある場合は、欠落している機能を実装し、新しい構文で呼び出すcfcを書くことができます。

あなたは私がすべて一緒に任意のタグを避けるためにしようとするだろう新しいコードベース、実行速度の面ではこれオプション1.

2

で新鮮な起動した場合、それらはすべて同じバイトコードにコンパイルし、そうでなければなりません同一。入力された文字の数の面では

(改行/タブを除く):

例えば1:64

例2:100

例3:129

あなたがしている場合Adobe CF9を実行するには、オプション1を使用します。これははるかに簡潔です。あなたは最近、<cfscript>ですべてを行うことができます。

それぞれのコンパイル済みバイトコードを確認するには、cf adminに.classファイルを保存して、/ Classesディレクトリ内のファイルをデコンパイラで表示します。例えば。 JD-Gui

1

cfscriptはおそらく少し速く、他の言語と一貫していますが、アプローチは単純です(複雑さはもっと隠れています)。

CFはベース言語として開始され、アプローチの代わりに完全なスクリプトスタイルを含むように進化しました。

違いは開発者のスタイルの問題です。

関連する問題