ColdFusion - 何時使用“請求”範圍?


Answers

這是一個非常主觀的問題,甚至有人甚至認為在現代的ColdFusion應用程序中使用請求範圍從不“合適”。

有了這個免責聲明,讓我們來定義請求範圍是什麼以及它在哪裡有用。

請求範圍是單個ColdFusion頁面請求中的絕對全局範圍。 它不是共享作用域,比如應用程序,服務器,客戶端和會話作用域,所以不需要使用線程安全鎖定(除非使用CF8的CFTHREAD標籤從一個請求中產生工作線程)。 作為一個全局作用域,通過請求堆棧中的任何級別來存儲變量是一個非常方便的方法,而不必將它們從父類傳遞給調用者。 這是在舊版CF應用程序中通過嵌套或遞歸自定義標記來保存變量的一種常見方法。

請注意,雖然許多應用程序使用此作用域來存儲應用程序級別的變量(例如,配置設置),但請求作用域和應用程序作用域之間的大(有時是細微的)區別在於,同一個請求作用域變量的值可以個別頁面請求不同。

我猜你的前任使用這個範圍作為一種手段來方便地設置變量,這些變量需要在封裝或嵌套的代碼單元之間跳轉,而不必明確地傳遞它們。

Question

一直在審查我的前任的代碼,並經常查看“請求”範圍的使用情況。 這個範圍的適當用法是什麼?




我一直在寫我的公司的框架,將用於我們的網站。

我使用請求變量來設置某些可用於其他CFC的數據,我必須這樣做才能使數據在整個應用程序中可用,而不需要不斷地傳入數據。 我真的相信,只要使用請求和應用程序的靜態功能組件,那麼你就不應該有問題。 我不確定自己是否有錯,但是一旦我釋放了框架,我們就會看到。