我正在使用Ruby从头开始研究机架式网络应用程序,我希望能够在应用程序的所有类中共享多个对象的实例。例如,记录器,请求信息,当前经过身份验证的用户,get / post参数等
对于熟悉PHP的任何人,我在过去使用静态变量完成了这项工作,例如: self :: $ params,它从每个继承自基类的类的每个实例共享。
用ruby实现这一目标的最佳方式是什么?
答案 0 :(得分:2)
ruby中的语法类似
$variable = value
$是ruby中的'全局'辅助功能修饰符。您的应用中使用$variable
的任何代码都将访问变量数据。
或者(我的首选方法),你可以使用类级方法:
class MyClass
def self.logger
@logger
end
end
然后您可以使用MyClass.logger
和第三,您可以将Constant指定为您想要的任何值(只要您以后不想更改该值)。
MyContant = myvalue
任何以大写字母开头的东西都是常数。