在php中对不同的文件使用相同的对象

在php中对不同的文件使用相同的对象,php,Php,我有两个文件,分别是file1.php和file2.php。我有一个名为form的php文件,其中定义了类form。 我在file1.php中创建了一个对象,如下所示: require_once('form.php'); $x=$_GET['field']; $form = new Form("", ""); $personal = new Block(""); $address = new TextArea("address", $x, "", 3, 30); $personal->

我有两个文件,分别是file1.php和file2.php。我有一个名为form的php文件,其中定义了类form。 我在file1.php中创建了一个对象,如下所示:

require_once('form.php');
$x=$_GET['field'];
$form = new Form("", ""); 
$personal = new Block("");

$address = new TextArea("address", $x, "", 3, 30); 
$personal->add($address);
$form->add($personal);
echo $form;
$personal = new Block("");
$name = new Text("name",$x);
$personal->add($name);
$form->add($personal);
echo $form;
现在我想在另一个文件file2.php中使用这个对象$form和$personal,如下所示:

require_once('form.php');
$x=$_GET['field'];
$form = new Form("", ""); 
$personal = new Block("");

$address = new TextArea("address", $x, "", 3, 30); 
$personal->add($address);
$form->add($personal);
echo $form;
$personal = new Block("");
$name = new Text("name",$x);
$personal->add($name);
$form->add($personal);
echo $form;

如何在php中使用这些对象。请提供帮助。

通常,每次运行脚本时,您都必须创建该对象的新实例

如果没有,可以序列化对象,将其转换为字符串格式,然后在需要时取消序列化,但必须将字符串存储在某个位置。仅仅声明一个新类通常比较容易


在大多数情况下,您将使用对象修改数据库中的值。创建新实例时(在页面重新加载时),它会查看数据库以获取修改后的值。这样,相同的实例就不必在重新加载时保持不变


您的类将使用getter和setter(“访问器”和“修饰符”)来处理所需的值,例如,$address。

首先包括file1.php

然后调用以下实例:

require_once('file1.php');
$name = new Text("name",$x);
$personal->add($name);
$form->add($personal);
echo $form;

请记住,
$form
$personal
的实例已经在file1.php中创建。如果将一个php文件包含到另一个php文件中,则没有问题,因为这两个文件中的代码都将合并到包含代码的范围中

否则,如果希望我们在代码中的不同位置重用对象,可以使用(另请参见:)来存储实例化的对象


如果计划在下一页加载时重新使用相同的对象,则需要对其进行序列化,将序列化的对象存储在会话/缓存(或其他位置)中,并在加载下一页后取消序列化。在这种情况下,您还需要一些机制来建立数据库连接或执行其他必需的任务()。

您想创建新实例还是使用在file1.php中创建的“旧”实例?我想使用在file1.php中创建的旧实例当我包括file1.php时,它也会给出在file1.php中定义的响应