php-有没有办法从另一个脚本访问已经实例化的类的属性而不重新实例化它?

php-有没有办法从另一个脚本访问已经实例化的类的属性而不重新实例化它?,php,class,instantiation,Php,Class,Instantiation,我有一个页面main.html,它是一个特定服务器的客户端应用程序。php是一个有三个框架的窗口 main.html <frameset frameborder=no border=0> <frame name='top1' src='top1.php' frameborder=no scrolling=no> <frame name='top2' src='top2.php' frameborder=no scrolling=no> &l

我有一个页面main.html,它是一个特定服务器的客户端应用程序。php是一个有三个框架的窗口

main.html

<frameset frameborder=no border=0>
 <frame name='top1' src='top1.php' frameborder=no scrolling=no>
        <frame name='top2' src='top2.php' frameborder=no scrolling=no>
 <frame name='firstpage' src='firstpage.php' frameborder=no scrolling=auto>
</frameset>

firstpage.php

<?php 
....
....
require_once("connection.php");
// connection.php is a class which opens a socket and establishes with another server.
set_time_limit(0);
ignore_user_abort();

function parse($line) {
//parses $line returns $a which contains some data etc
....
return $a;
}

$connect= new Connection();
.....
$line=$connect->socket_read(1028);
.....
while ($i<200) {
$GLOBALS[userdata][$i]=parse($line);
.......
}
?>

firstpage.php是一个大型脚本,出于易读性的原因,我对firstpage.php的大部分内容进行了裁剪。 connect.php和firstpage.php的工作方式完全符合我的要求

我需要在top1.php和top2中提供$GLOBALS[userdata],以便进一步处理。我是否可以访问$GLOBALS[userdata],而无需再次实例化connect.php?(我希望在top1.php和top2.php中进行的数据处理无法在firstpage.php中完成,原因我无法在此处讨论。)我无法重新实例化connect.php,因为我的服务器不会重新发送已经从服务器发送到firstpage.php的数据

我已经意识到,由于firstpage.php运行不完整,$GLOBALS无法编写。尝试在$GLOBALS[userdata][$i]=parse($line)之后立即关闭会话\u write\u;在while循环中。但这没有帮助

我还发现top1.php、top2.php和firstpage.php中的SESSIONID是相同的

谁能给我指出正确的方向吗


谢谢

页面作为完全独立的请求进行处理,因此您不能在传统意义上共享它们之间的数据

理论上,我们可以使用会话来完成,因为所有页面都将作为同一会话的一部分加载。但是,它们的加载顺序并不完全可预测,因此您无法确定一个页面在加载另一个页面时是否已完成。所以在实践中,这可能也行不通


框架导致问题的另一个原因是。

页面作为完全独立的请求处理,因此您不能在传统意义上共享它们之间的数据

理论上,我们可以使用会话来完成,因为所有页面都将作为同一会话的一部分加载。但是,它们的加载顺序并不完全可预测,因此您无法确定一个页面在加载另一个页面时是否已完成。所以在实践中,这可能也行不通


框架导致问题的另一个原因。

我认为框架不是问题所在。我有一个内部运行的脚本


因为我已经实例化了一个类,并且脚本仍在运行,所以我假设该类的属性/数据成员必须在某个地方可用。是否有任何方法可以访问已经实例化的类的数据成员/属性?

我认为框架不是问题所在。我有一个内部运行的脚本


因为我已经实例化了一个类,并且脚本仍在运行,所以我假设该类的属性/数据成员必须在某个地方可用。有没有办法访问已经实例化的类的数据成员/属性?

+1不要使用框架来实现设计。如果您确实想在一个浏览器窗口中显示两个不同的网站,请使用它。(尽管IFRAME在这方面做得更好。)+1不要使用框架来实现设计。如果您确实想在一个浏览器窗口中显示两个不同的网站,请使用它。(尽管IFRAME在这方面做得更好……)