coldfusion - cfdump 组件方法值,而不是组件结构

标签 coldfusion coldfusion-9

我最近开始使用 cfc 组件将用户信息存储在 Session 变量中。我曾经将它们作为单独的变量存储在 Session 中,例如 Session.UserId、Session.Firstname 或 Session.Lastname。这个新组件很好地将所有内容封装到一个组件中,其中包含我需要的每个值的 get 方法(即 Session.User.getUserId()、Session.User.GetName() 等)。

但是当我对 session 变量进行 cfdump 进行调试时,它会显示对象结构的元数据。我想查看组件的 get 方法返回的值。有什么方法可以使用 cfdump 来输出带有对象元数据的函数值吗?

最佳答案

<cfdump>不是魔法,它所做的只是输出你给它的值。由于您的 CFC 实例不公开反射(reflect)这些值的任何公共(public)属性,<cfdump>没有任何方法知道它们是什么。

如果您需要一次提取反射(reflect)您之前 session 范围的所有私有(private)属性,那么您需要创建一个方法来执行此操作,然后 <cfdump> 那个。例如:

public struct function getVariables(){
    return  variables;
}

如果您要进一步抽象您想要的值,例如variables.sessionStuff ( variables.sessionStuff.userIdvariables.sessionStuff.name 等),然后编写一个方法 getSessionStuff()返回 variables.sessionStuff .

关于coldfusion - cfdump 组件方法值,而不是组件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607436/

相关文章:

coldfusion - 如何从 ColdFusion 中的文件夹下载所有附件

excel - ColdFusion 电子表格内存问题

arrays - 我如何反转数组

variables - Coldfusion 11 - 全局变量 - Application.cfc 或 Application.cfm

jQuery 日期选择器无法与 cfdiv 一起使用

orm - 跨应用程序重用 ColdFusion ORM 实体/对象?

hibernate - 您如何在 ColdFusion ORM 中深度克隆持久实体?

mysql - 无法嵌套具有属性 "query"的 cfoutput 标签,但不知道还能怎么做

csv - 读取带有 CFFile 和非罗马字符的 CSV

hash - ColdFusion 哈希