Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将整个对象从一个类传递到另一个类的PHP脚本_Php_Postgresql - Fatal编程技术网

将整个对象从一个类传递到另一个类的PHP脚本

将整个对象从一个类传递到另一个类的PHP脚本,php,postgresql,Php,Postgresql,为了更好地描述我的问题,我将首先写几句关于我的脚本到目前为止是如何工作的。因此,有一个服务器在某个地址下不时更新XML(比如它的(https://someaddress.com/feedback.xml)。然后我创建了一个每天运行一次的脚本(使用cron)读取给定的XML并将新对象放入我的数据库。现在我想在另一个脚本中获取这些对象(对我来说,创建独立的.php文件很重要,它只从feedback.xml加载最新的对象。问题是,我可以直接从数据库加载这些值,但这样我就有了所有记录的完整列表(我只想要

为了更好地描述我的问题,我将首先写几句关于我的脚本到目前为止是如何工作的。
因此,有一个服务器在某个地址下不时更新
XML
(比如它的(
https://someaddress.com/feedback.xml
)。然后我创建了一个每天运行一次的脚本(使用
cron
)读取给定的
XML
并将新对象放入我的数据库。

现在我想在另一个脚本中获取这些对象(对我来说,创建独立的
.php
文件很重要,它只从
feedback.xml
加载最新的对象。问题是,我可以直接从
数据库
加载这些值,但这样我就有了所有记录的完整列表(我只想要最新的一个)解决这个问题的方法可能是在表中添加一列,该列将
布尔值存储到
新建?
问题中,但我不能以任何方式更改我的
数据库。我相信我可以将这些对象加载到某个
数组
,但如何将其传递到另一个脚本?下面是我用来将记录存储到
的方法数据库

$xmlstr = file_get_contents(url);

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->value as $a) {

    //method to check if record exist

    $rec= new Item($db);

    //method to set values of obj

    $rec->Store();

如果您的脚本在同一台服务器上运行,那么有许多不同的方法可以使用:-

(1) 如果您的数据库已具有相关行的时间戳或唯一ID,则可以查询数据库,按其中一列排序,然后将结果限制为1条记录

select [fields] from records order by created desc limit 1
(2) 除了将结果写入数据库,您还可以将它们持久化到本地文件中,并每次从中读取(这些结果集有多大?)

(3) 另一种选择是使用Memcached将结果集持久保存在内存中,这样脚本就可以保持解耦,但访问信息的速度非常快。如果您以前没有使用Memcached,请看一看——它非常适合这种任务,而且使用简单


如果您的脚本运行在不同的服务器上,则(1)可以工作,但其他脚本需要进一步考虑。

(3)另一种选择是使用Memcached将结果集持久保存在内存中,这样您的脚本就可以保持解耦,但访问信息的速度非常快。-这个选项对我来说非常有趣。我将查看
Memcached
的一些文档或一些示例,并报告它的工作原理。谢谢您Purpletoucan!重新发布后阅读
php手册
我发现
Memchached
不是php的一部分,需要安装,这对我来说是不可能的,因为我不是服务器管理员。关于(2)这些结果集有多大?每次我更新数据库记录时,我都会得到大约20条新记录,但我不知道这个值-它是可变的,因此i ges
desc
也不适合这样做..将一些信息保留在数据库之外有点混乱,但由于托管环境的限制,这可能是不可避免的。可能是混乱的我们的cron作业可以只将记录数写入一个文件,而您的脚本将根据该数检索限制的记录,或者您完全选择选项(2)。这有点“讨厌”,但在限制性环境中,其他选项会消失。听起来,结果集的大小似乎不会影响选项(2)。