Elixir语言中 Application.get_env
相关用法介绍如下。
用法:
get_env(app, key, default \\ nil)
@spec get_env(app(), key(), value()) :: value()
在 app
的环境中返回 key
的值。
如果配置参数不存在,则函数返回default
值。
重要提示:如果您在编译时读取应用程序环境,例如,在模块定义内部而不是在函数内部,请参阅
。compile_env/3
重要提示:如果您正在编写一个供其他开发人员使用的库,通常建议避免使用应用程序环境,因为应用程序环境实际上是一个全局存储。如需更多信息,请阅读我们的library guidelines。
例子
通常用于读取 OTP 应用程序的配置。由于混合配置通常用于配置应用程序,我们将以此作为说明。get_env/3
考虑一个新的应用程序 :my_app
。 :my_app
包含一个支持数据库池的数据库引擎。数据库引擎需要知道每个数据库的配置,并且该配置由 :my_app
环境中的键值对提供。
config :my_app, Databases.RepoOne,
# A database configuration
ip: "localhost",
port: 5433
config :my_app, Databases.RepoTwo,
# Another database configuration (for the same OTP app)
ip: "localhost",
port: 20717
config :my_app, my_app_databases: [Databases.RepoOne, Databases.RepoTwo]
:my_app
使用的我们的数据库引擎需要知道存在哪些数据库,以及数据库配置是什么。数据库引擎可以调用Application.get_env(:my_app, :my_app_databases, [])
来检索数据库列表(由模块名称指定)。
然后引擎可以遍历列表中的每个存储库并调用Application.get_env(:my_app, Databases.RepoOne)
等来检索每个存储库的配置。在这种情况下,每个配置都会是一个关键字列表,因此您可以使用
模块甚至Keyword
模块中的函数对其进行遍历,例如:Access
config = Application.get_env(:my_app, Databases.RepoOne)
config[:ip]
相关用法
- Elixir Application.ensure_started用法及代码示例
- Elixir Application.compile_env用法及代码示例
- Elixir Application.app_dir用法及代码示例
- Elixir Application用法及代码示例
- Elixir Agent.get_and_update用法及代码示例
- Elixir Access.filter用法及代码示例
- Elixir Access.all用法及代码示例
- Elixir Atom用法及代码示例
- Elixir Atom.to_string用法及代码示例
- Elixir Agent.get用法及代码示例
- Elixir Access.key用法及代码示例
- Elixir Access.get用法及代码示例
- Elixir Access.key!用法及代码示例
- Elixir Atom.to_charlist用法及代码示例
- Elixir Agent.cast用法及代码示例
- Elixir Agent.start_link用法及代码示例
- Elixir Access.fetch用法及代码示例
- Elixir Access.at!用法及代码示例
- Elixir Agent.update用法及代码示例
- Elixir Agent.stop用法及代码示例
- Elixir Access.at用法及代码示例
- Elixir Access用法及代码示例
- Elixir Access.fetch!用法及代码示例
- Elixir Access.elem用法及代码示例
- Elixir Agent.start用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Application.get_env(app, key, default \\ nil)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。