【问题标题】:Set Coldfusion ORM not to affect parent folders设置 Coldfusion ORM 不影响父文件夹
【发布时间】:2012-10-15 12:04:17
【问题描述】:

我来自 PHP/MySQL 背景,现在我作为 Coldfusion 9 开发人员获得了新的后端职位。我对 Coldfusion 完全陌生,因此出于学习和测试目的,我在本地主机上安装了 CF。在我的本地主机上,我设置并测试了 ORM,它运行良好,并且不会干扰其他父文件夹。一旦我将 Application.cfc 文件上传到我们的主服务器,在 site/project89/cfc/orm/ 下

<cfcomponent>
  <cfset this.name = "whatevername">
  <cfset this.ormenabled = "true">
  <cfset this.datasource = "name_db">
</cfcomponent>

它影响了整个父服务器文件夹,包括我们之前构建的所有其他冷融合项目的主“站点”文件夹。
有没有办法将 ORM 设置为仅影响其自己的子目录而不对其父文件夹进行任何更改? 例如,为站点/项目 89 启用 ORM,并在其他站点/项目上阻止 ORM**。 任何帮助或建议将不胜感激,因为在我工作的地方没有人熟悉 ORM,我不能再让我们的服务器崩溃。
谢谢。

【问题讨论】:

  • 那么新的Application.cfc 是否正在为其他(父)文件调用?您可以在coldfusion admin中打开请求调试,如果不确定,请检查正在加载哪些文件
  • 我只需要在文件夹“site/project89”及其自己的子文件夹文件site/project89/folder1中启用ORM | site/project89/folder2 等。对不起,如果我不清楚。
  • application.cfc 是否位于site/project89 文件夹中?编辑:再读一遍问题 - 你需要把它移到那里。
  • 是的,Application.cfc 位于 site/project89 文件夹中

标签: orm coldfusion


【解决方案1】:

我认为您遇到的问题与您的应用程序的位置/结构有关。

您需要将您的Application.cfc 移动到site/project89 的根目录。

来自 ColdFusion 文档:

当 ColdFusion 开始处理请求时,它会执行以下操作:

它在页面目录中搜索名为 Application.cfc 的文件。如果 一个存在,它创建一个新的 CFC 实例,处理 初始事件,并停止搜索。 (ColdFusion 创建了一个新的 CFC 的实例,并为每个 CFC 处理其初始化代码 请求。)

如果请求页面的目录没有 Application.cfc 文件,它检查目录中的 Application.cfm 文件。如果存在,ColdFusion 逻辑上包含 Application.cfm page 在请求页面的开头并停止搜索 更远。如果请求页面的目录没有 Application.cfc 或 Application.cfm 文件,ColdFusion 搜索 目录树并首先检查每个目录中的 Application.cfc 文件,然后,如果找不到,则为 Application.cfm 页面,直到 它到达根目录(如C:)。

当它找到 Application.cfc 或 Application.cfm 文件时,它会处理页面并 停止搜索。

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_06.html(ColdFusion 8 但仍然相关)

【讨论】:

  • 非常感谢,我星期五一整天都在找这个。我想我发现了我的问题。我需要为其他项目使用默认模板,我看到有一个 application.cfm 文件已经存在。它可能与我的 cfc 文件冲突。
【解决方案2】:

我猜在“受影响”下你的意思是它正在到处寻找模型 CFC。如果是这样,你可以尝试通过限制模型的路径来解决:

this.ormsettings.cfclocation = "path.to.models";

【讨论】:

  • 所以通过声明this.ormsettings.cfclocation = "site/project89"; 不会影响“site/project01”..等之前的其他项目?因为其他项目都有自己的数据库源,我不希望它们再次崩溃。抱歉,这是我和 CF 一起玩的第二周。感谢您的帮助。
  • this.ormsettings.cfclocation 是 Coldfusion 搜索 ORM models/entities 而不是 application.cfc 设置的位置,我认为这不是您所追求的。
猜你喜欢
  • 1970-01-01
  • 2022-10-02
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多