在方法执行结束时清除类属性

时间:2017-08-19 13:26:28

标签: php oop

我有这样的结构:

LET sortByCreatedAt = (
  FOR d in @@collectionName
    SORT createdAt DESC
    RETURN d)

LET sortByName = (
  FOR d in @@collectionName
    SORT name DESC
    RETURN d)

RETURN (@sortBy == 'createdAt') ? sortByCreatedAt : sortByName

从AJAX递归调用append_to_my_data方法,它应该通过小块处理数组,并通过将结果附加到$ my_data属性来组合结果。但似乎在每次调用此方法时,$ my_data属性再次为空,并且不包含上一次调用的结果。

为什么会这样?我应该寻找另一种存储这些数据的方法吗?我不想将数据存储在我的JavaScript递归中,因为它可能非常深,数据可能会非常大。

1 个答案:

答案 0 :(得分:0)

通过AJAX,我认为你的意思是Javascript 这告诉我一件事,您尝试在客户端应用程序(Javascript代码)和服务器应用程序代码(PHP)的http请求之间保留数据。
请注意,JS /客户端在浏览器中的用户计算机上运行,​​PHP代码在您自己的服务器计算机上运行。两台完全不同的机器,带有独立的内存/硬盘和CPU 要在不同的http请求之间保留服务器上的数据,可以使用许多方法/方法 两种最常用的方法是使用php sessions和/或MySQL数据库,还有很多方法可以做到,上面两种是最常见的方法。

而且,要访问对象属性,您需要使用$this 即:

$this->my_data[] = $this->get_result();
and not
$my_data[] = $this->get_result();