我正在尝试在 Lucee 中创建全局函数。我已经按照这里的指示并让它“有点”工作。在 Application.cfc 中,我放置了以下代码:
public void function onRequest() {
URL.IsInternalUser = function() { return (SESSION.user.ID ?: 0); };
}
这在某些情况下似乎可以正常工作,但如果我们需要在包含未重新定义函数的 Application.cfc 的子目录中访问此函数,则会错误提示该函数不存在。
我试图实现的最终目标是拥有一个cfc
包含多个用户定义函数的文件,然后让它们在整个应用程序中都可以访问,而无需一遍又一遍地重新定义。
有没有更好的方法来完成我们想要的?我问这个是因为在我之前在评论部分引用的页面上有一句话:
我同意。将来在其他地方看到它不会让我感到惊讶。
我喜欢Railo方法的地方在于它是完全沙盒化的。主机 A 的标签和函数库永远不会与主机 B 的库交叉/冲突,除非它们被放入全局服务器文件夹。虚拟文件系统和其他几乎所有东西(数据源等)也是如此。
它特别提到 Railo 有一种创建 UDF 的方法,但我在任何地方都找不到任何文档。由于我们使用的是 Railo 的一个分支 Lucee,我认为它必须具有 Railo 用于创建 UDF 的功能。希望读到这篇文章的人可以帮助我并为我指明正确的方向。