2010-08-06 60 views
1

我正在從事從事Ruby架構Web應用程序的工作,並希望能夠跨應用程序中的所有類共享多個對象的實例。例如,記錄器,請求信息,當前認證的用戶,獲取/發佈參數等。在自定義Web應用程序中跨對象/類共享實例數據

對於任何熟悉PHP的人,我已經用靜態變量完成了這個過程,例如, self :: $ params,它可以在從基類繼承的每個類的每個實例上共享。

什麼是最好的方式來完成這與紅寶石?

回答

2

語法是紅寶石

$variable = value

類似$是紅寶石的 '全球性' 可訪問修飾符。您應用中使用$variable的任何代碼都將訪問變量數據。

或者(我的首選方法),你可以使用一個類級別的方法:

class MyClass 
    def self.logger 
    @logger 
    end 
end

,那麼你可以訪問使用MyClass.logger

和第三你的應用程序這在任何地方,你可以指定一箇中恆作爲任何你想要的值(只要你不想稍後改變它的值)。

MyContant = myvalue

任何以大寫字母開頭是一個常數。