2013-04-25 24 views
7

私はColdFusion 9を使用しており、ドキュメントをチェックしていますがあいまいです。定数はColdFusionでサポートされていますか?

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec0999c-7ff1.html

(私はPHPの背景を持っており、PHP定数のようなものを探して)

おかげで

+0

「ColdFusionでは定数に名前を付けることができません」という意味の_は、(PHPのdefine関数と同じように)独自の定数を作成できないことを意味します。もちろん、変数と適切なコーディングガイドラインを使用することもできます([Miguel describe below](http://stackoverflow.com/questions/16220215/are-constants-supported-in-coldfusion#16220446))。 –

答えて

19

いいえ、ColdFusionは定数を持っていません。ほとんどの場合、開発者はALL_CAPITALSの変数名などの命名規則を使用して変数を設定してから、値を変更しないと思います。これは他の言語のように実際には定数ではなく、値が変更されないように注意する必要があります(真の定数ではないためです)。私は前にこれを行い、アプリケーションスコープでこれらの「定数」を設定して、すぐに利用できるようにしました。

enhancement requestが戻ってきました。しかし、それは閉鎖され、延期されたように見えます。

アダムキャメロンblogged about this very thing last yearと同じエンハンスメントリクエストを参照してください。

10

いいえ、母国語の機能としてではありません。リンク先のページのキービットは「ColdFusionでは名前を定数に渡すことができません」

このページは、定数ではなくリテラルに関するものだと思います。

component displayname="constant values for my app" { 
    property name="mailServer" default="127.0.0.1" getter=true setter=false 
    property name="password" default="supersecret" getter=true setter=false 
} 

あなたは、あなたがそれ(例えばアプリケーションや要求を必要とする方の範囲でこれを設定することができます:あなたは変更不可能な定数をサポートしたい場合は

は、私はあなたが値をカプセル化するオブジェクトを使用する必要があると思います)application.constants.getMailServer()を呼び出します。

これは、ほとんどの場合に使用する@ Miguel-Fソリューションと同じくらい簡潔ではありませんが、別のオプションとしてここにあります。

関連する問題