0

我在 FW1 中有一个测试应用程序。目前我有测试服务和DAO。例如 Model/services/test.cfc 和 Model/DAO/testDAO.Here 我想在 application.cfc 上设置一个数据。我如何在应用程序 cfc 中注入一些服务/DAO。我试图通过在 application.cfc 中创建 FW/1 服务来做到这一点。但总是面临以下问题。

在此处输入图像描述

我想在我的应用程序 cfc 文件中调用我的 services/test.cfc 或 DAO / testDAO。给出一个想法,并提前致谢!

4

2 回答 2

1

没有看到你的代码,这里有一些看起来不正确的东西......

  1. 正如 Bernhard 所说,您需要立即在组件块内声明属性。
  2. 确保在组件声明中包含accessors="true"属性。
  3. 确保根据您配置 DI/1 的方式引用您的服务。我看到你test.cfc在一个services文件夹里。我假设您将属性引用为testServices,您将 DI/1 设置为以这种方式映射它。否则,按照惯例,它将被访问为testor 或testService。请参阅:基本 DI/1 约定
  4. 我找不到支持这一点的来源,但我 99% 确定您将无法从setupApplication(). 这是一种鸡/蛋的方法。

可以在其他生命周期方法之一中进行此调用,例如before()setupRequest()。但是,根据您的用例,我会重新考虑您的方法。正如詹姆斯在他的回答中提到的,这不是一个常见的操作顺序。如果您需要每个请求的可用数据或访问常规处理的辅助方法,我可以看到这对您有用。除此之外,除非您真的每次都需要此服务,否则最好将其注入仅隔离到应用程序中需要它的控制器。最终很难在不知道您的意图的情况下说出来。

于 2019-02-26T15:26:17.310 回答
0

在 FW/1 中,服务进入每个控制器,而不是进入application.cfc. 你需要把它们移到那里。

于 2019-02-25T18:55:37.167 回答