ColdFusion 组件从错误路径启动
ColdFusion Component gets initiated from wrong path
我正在启动 CFC:
<cfset config = new dir.dir1.config() />
这很好用。但是在我看来,它突然启动了,没有任何理由:
<cfset config = new anotherdir.dir.dir1.config() />
虽然代码显示了第一个实例化,但如果我删除或重命名 anotherdir.dir.dir1.config
文件,它会抛出找不到组件的错误。
哪些情况会导致这种行为?
我的智慧走到了尽头。
当使用点表示法时,CF 将首先查看相对于您所在文件夹的路径。CF 可能会在相对于您所在文件的路径上找到一个 cfc,然后再从根目录检查路径。
如果您的代码显示
<cfset config = new dir.dir1.config() >
并且您所在的文件 运行 您的代码位于目录 'anotherdir' 中,然后它将实例化 anotherdir.dir.dir1.config。如果您在 'anotherdir' 之外并且无法解析相对路径,它将尝试从根目录中查找组件。
我正在启动 CFC:
<cfset config = new dir.dir1.config() />
这很好用。但是在我看来,它突然启动了,没有任何理由:
<cfset config = new anotherdir.dir.dir1.config() />
虽然代码显示了第一个实例化,但如果我删除或重命名 anotherdir.dir.dir1.config
文件,它会抛出找不到组件的错误。
哪些情况会导致这种行为? 我的智慧走到了尽头。
当使用点表示法时,CF 将首先查看相对于您所在文件夹的路径。CF 可能会在相对于您所在文件的路径上找到一个 cfc,然后再从根目录检查路径。
如果您的代码显示
<cfset config = new dir.dir1.config() >
并且您所在的文件 运行 您的代码位于目录 'anotherdir' 中,然后它将实例化 anotherdir.dir.dir1.config。如果您在 'anotherdir' 之外并且无法解析相对路径,它将尝试从根目录中查找组件。