来自不同目录的 Coldfusion CreateObject
Coldfusion CreateObject from different directory
我的目录结构:
Com.Lib.db(所有数据库 cfc)
Com.Lib.search(全部搜索cfcs)
Com.Lib.utils(所有实用程序 cfcs)
如果我从 webroot 目录创建 (db) 目录的普通对象。
示例:
Createobject("component", "Com.Lib.db.mycfcA");
如果我在 (db) 目录中创建对象
示例:
Createobject("component", "mycfcA");
这是正常情况。就我而言,我想创建一个从 db 目录到 Utils OR Search 的对象。例如,当我尝试提供完整路径时:
如果我在 db 目录中,试图在 (Utils) 目录中创建 myUtils.cfc 的对象。
Createobject("component", "Com.Lib.Utils. myUtils");
为了说明组件的相对寻路,这里举个例子:
您的 Web 应用程序如下:
/wwwroot/your-app/Application.cfc
/wwwroot/your-app/index.cfm
/wwwroot/your-app/images/example.jpg
您有一个虚拟主机 (www.your-app.com
) 指向:
/wwwroot/your-app/
这是你的根。 ColdFusion 会将 /
物理解析为 /wwwroot/your-app/
(默认根映射)。
调用如下组件:
createObject("component", "Com.Lib.Utils.myUtils")
现在将检查文件是否存在,即初始化组件:
/wwwroot/your-app/Com/Lib/Utils/myUtils.cfc
如果您的 CFC 不在此结构中,您需要为它们定义自定义映射。
自定义映射在 Application.cfc
的构造函数中定义。
因此,假设您的 CFC 位于以下目录中:
/wwwroot/my-cfcs/Com/Lib/Utils/
现在您可以为它们创建一个映射,例如:
<!--- Application.cfc --->
<cfcomponent>
<cfset THIS.mappings["utils"] = "/wwwroot/my-cfcs/Com/Lib/Utils/">
</cfcomponent>
要调用组件,您现在可以像这样引用映射的组件路径:
createObject("component", "utils.myUtils")
这将检查文件是否存在,即初始化组件:
/wwwroot/my-cfcs/Com/Lib/Utils/myUtils.cfc
我的目录结构:
Com.Lib.db(所有数据库 cfc)
Com.Lib.search(全部搜索cfcs)
Com.Lib.utils(所有实用程序 cfcs)
如果我从 webroot 目录创建 (db) 目录的普通对象。
示例:
Createobject("component", "Com.Lib.db.mycfcA");
如果我在 (db) 目录中创建对象
示例: Createobject("component", "mycfcA");
这是正常情况。就我而言,我想创建一个从 db 目录到 Utils OR Search 的对象。例如,当我尝试提供完整路径时: 如果我在 db 目录中,试图在 (Utils) 目录中创建 myUtils.cfc 的对象。
Createobject("component", "Com.Lib.Utils. myUtils");
为了说明组件的相对寻路,这里举个例子:
您的 Web 应用程序如下:
/wwwroot/your-app/Application.cfc
/wwwroot/your-app/index.cfm
/wwwroot/your-app/images/example.jpg
您有一个虚拟主机 (www.your-app.com
) 指向:
/wwwroot/your-app/
这是你的根。 ColdFusion 会将 /
物理解析为 /wwwroot/your-app/
(默认根映射)。
调用如下组件:
createObject("component", "Com.Lib.Utils.myUtils")
现在将检查文件是否存在,即初始化组件:
/wwwroot/your-app/Com/Lib/Utils/myUtils.cfc
如果您的 CFC 不在此结构中,您需要为它们定义自定义映射。
自定义映射在 Application.cfc
的构造函数中定义。
因此,假设您的 CFC 位于以下目录中:
/wwwroot/my-cfcs/Com/Lib/Utils/
现在您可以为它们创建一个映射,例如:
<!--- Application.cfc --->
<cfcomponent>
<cfset THIS.mappings["utils"] = "/wwwroot/my-cfcs/Com/Lib/Utils/">
</cfcomponent>
要调用组件,您现在可以像这样引用映射的组件路径:
createObject("component", "utils.myUtils")
这将检查文件是否存在,即初始化组件:
/wwwroot/my-cfcs/Com/Lib/Utils/myUtils.cfc