首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型线盒注入中的冷盒getSetting

模型线盒注入中的冷盒getSetting
EN

Stack Overflow用户
提问于 2014-04-10 20:13:17
回答 2查看 1.6K关注 0票数 1

我试图在一个模型中访问Coldbox getSetting

在文档中,以及在Coldbox Google Group的帖子中,它清楚地指出

模型是应用程序的一个完全孤立的层,除非您将依赖项注入到它们中,否则无法访问任何ColdBox。我们建议您看看我们的WireBox依赖注入,这样您就可以看到如何用它们所需的东西注入模型。

他们指出了这个文档:Injector

但是,除了重复上面引用的文档和Google的文章外,没有真正好的例子来说明如何做到这一点。

我尝试在我的模型顶部注入属性:

代码语言:javascript
复制
<cfcomponent displayname="myComponent" output="false">
    <cfproperty name="mySetting" inject="coldbox:setting:mySetting" />
       <cffunction name="myFunction" output="false" hint="index"> 
          <cfset value = getProperty('mySetting') />
           ...

这将返回错误消息:Variable GETPROPERTY is undefined.

我还试图在我的模型的功能中注入一个论点,但我知道这是行不通的。

代码语言:javascript
复制
<cffunction name="myFunction" output="false" hint="index">
  <cfargument name="mySetting" inject="coldbox:setting:mySetting">

有人能告诉我如何通过线盒注入将getSetting传递给一个模型,或者说任何方法吗?

如何在Coldbox模型中注入依赖项?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-10 21:39:25

你的注射看起来很好。问题是,您正在尝试使用"getProperty()“,而这不是在您的组件中定义的。它来自框架超级类型,仅存在于处理程序等框架对象中。属性注入在默认情况下将对注入对象的引用直接放入“变量”范围,因此您只需以variables.mySetting的形式访问它。

还可以使用scope属性控制该属性注入的范围:

Annotation

参数注入确实有效,但只适用于构造函数(init),因为DI引擎会自动调用它们。

另外,这个参考卡可能比完整的WireBox文档要简单一些,但是它显然没有涵盖那么多的信息:https://github.com/ColdBox/cbox-refcards/raw/master/WireBox/WireBox-Refcard.pdf

免责声明:我是ColdBox团队的一员。

票数 2
EN

Stack Overflow用户

发布于 2014-04-10 21:06:43

/config/WireBox.cfc中,为模型对象设置别名:

代码语言:javascript
复制
map('KungFooDAO').to('model.path.to.KungFooDAO');

您可以在这里将ColdBox设置作为属性注入:

代码语言:javascript
复制
map('KungFooDAO').to('model.path.to.KungFooDAO')
    .property(name='myDsn', dsl='coldbox:datasource:myDsn');

现在,在KungFooDAO.cfc内部,您可以引用variables.myDsn,它具有ColdBox设置的值。

或者,您可以在.property()配置中停止WireBox调用,并在KungFooDAO.cfc中添加一个CFPROPERTY,如下所示:

<cfproperty name="myDsn" inject="coldbox:datasource:myDsn" />

这些示例取自实时代码(为保护无辜而更改DSN名称)。

您的CFC模型的WireBox条目是什么样的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22998115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档