现在这似乎是非常直接的事情,但在 ColdFusion 中似乎并非如此。我需要从自身内部创建一个 CFC 实例,var a = new this()
但这显然不起作用。不能使用 CFC 名称,因为它是一个将被扩展的基础,所以我正在尝试解决以下问题:
component {
public function subQuery (required string table) {
var classPath = getMetaData(this).fullname;
return createObject("component", classPath).init(table, this.dsn);
}
}
这是可以接受的,但返回的类路径getMetaData(this).fullname
不正确。CFC 位于一个以连字符命名的文件夹中,如 in my-folder
,返回的路径看起来像my.-folder.myCFC
在连字符之前插入了一个句点。显然我可以用正则表达式来操作这个字符串,但这不是我想要走的路。
希望有人有更清洁的方法,谢谢。