タイトルの通り - ColdFusion の残りのコンポーネントはApplication
スコープにアクセスできますか? 私の最初のテストでは、それができないことを示しているようですが、Railo/Lucee では間違いなく可能です。
確かに、CFC はカプセル化を破るためにスコープにアクセスすべきではないと主張できますがApplication
、REST コンポーネントは、これが望ましい数少ないインスタンスの 1 つだと思います。
奇妙に思えるのは、Application
存在しないスコープ変数を返そうとすると、期待どおりのメッセージが表示されることです。
Element FOO is undefined in APPLICATION.
一方、存在Application
するスコープ付き変数を返そうとすると、次のようになります-このコンテキストではスコープが使用できないことを示唆しています:Application
Variable APPLICATION is undefined.
この時点で、質問はかなり無意味です.CFのREST実装は非常に面倒なので、私はTaffyに移行しようとしていると思います.しかし、Railo/Luceeのものは比較するとうまく機能します.何かを台無しにしました。
興味のある方のために、いくつかのテストコードを次に示します。
<cfcomponent
output = "false"
rest = "true"
restpath = "/hello/"
>
<cffunction
name = "world"
returntype = "string"
httpmethod = "GET"
access = "remote"
>
<cfreturn Application.Foo />
</cffunction>
</cfcomponent>