2

这周我只是试着回忆一下 Fw1 框架。但是,我遇到了 fw1 核心文件错误。下面的屏幕有我的文件夹结构,

在此处输入图像描述

在 lib 文件夹中,我还有一个名为 framework 的文件夹。框架文件夹也有 one.cfc 和 ioc.cfc 文件。现在,我正在尝试在浏览器中运行我的应用程序。它抛出错误。

找不到 ColdFusion 组件或接口 C:\ColdFusion2016\cfusion\wwwroot\try\Fw1Demo\framework\ioc.cfc

但是,在我的 Application.cfc 中,我扩展了 fw1 one.cfc 核心文件。

component extends="lib.framework.one" output="false" {
}

但是,我不确定为什么这会引发错误。

4

3 回答 3

2

Fw1 是一个轻量级框架,被称为约定优于配置。我们可以在 Application.cfc 中配置它

据我所知,如果你想配置你不要接触核心文件。只需将其添加到 Application.cfc

它就像默认的 Section、Item 和 reloadApplicationOnEveryRequest 设置一样

variables.framework = {
        defaultSection = 'dashboard',
        defaultItem = 'default',
        reloadApplicationOnEveryRequest = false
    };

对于您的场景,您应该添加 Application.cfc 之类的,

variables.framework = { applicationKey = 'lib.framework.one'; }

因为它只是应用程序特定的配置。我没有尝试过这样的配置,但我们可以进行这样的配置。

于 2019-05-14T14:41:08.053 回答
2

现在,我们可以将 fw1 框架核心文件放在不同的文件夹中。我们不需要遵循 fw1 提到的文件夹结构。我的意思是,framework/one.cfc & framework/ioc.cfc

但是,对于使用不同的文件夹结构需要更改framework/one.cfc. 在此文件中,它们用作指向 ioc.cfc 文件的静态路径。我们需要改变这条道路。

在上述问题中,我使用了lib/framework/one.cfc & lib/framework/ioc.cfc. 因此,在one.cfc文件中,需要更改以下代码,

var diComponent = 'lib.framework.ioc';

variables.framework.applicationKey = 'lib.framework.one';

默认情况下,上述变量具有以下值,

var diComponent = 'framework.ioc';

variables.framework.applicationKey = 'framework.one';

所以,在这个变量中需要更新我们的路径。

谢谢,

于 2019-05-14T02:35:07.197 回答
0

请尝试以下操作,而不是更改核心文件。

  1. 使用名为“框架”的 CF 管理界面为框架文件夹创建映射
  2. 在 Application.cfc 文件中添加/更新它variables.framework = {diComponent = "framework.ioc"}

这样,您将不会更改核心文件,并且仍然拥有您想要的内容。

于 2021-06-16T03:52:38.797 回答