PHP以交互模式

时间:2015-11-26 18:13:48

标签: php

我正在以交互模式测试一些与数据库相关的功能。

我做的第一件事是包含测试文件,让我们说数据库.php

然后我可以通过函数调用对数据库进行更改。

问题是,当我对database.php进行任何更改时,我已退出PHP交互模式,重新输入,再次包含测试文件。

我正在寻找一种在交互模式下重新加载包含文件的方法。

2 个答案:

答案 0 :(得分:2)

没有简单的方法可以解决这个问题,因为PHP不是为这个工作而构建的,但有一些事情你可以看一下,因为它可能会为你完成这项工作。但是,这一切都取决于database.php

中的内容

创建一个简单的函数,例如reset,并使用PHP的runkit functions更新您的包含。

如果您的database.php包含函数,则需要先remove这些函数再重新包含它们。如果您的文件中定义了一个类,您可以尝试import函数,只需调用为您完成所有这些操作的函数,但最后这只是手工劳动,查看其他替代方法可能更简单。

我在浏览器中使用自动刷新计时器每隔#秒刷新一次页面。但是我有两个屏幕,这使得使用这种方法更容易。

答案 1 :(得分:0)

这是你永远不应该做的事情。它将创建双重功能,这将在PhP解释器中造成混乱。

您应该要求范围之外的文件,因此它们是全局可用的,这样您可以减少服务器开销(内存使用)并直接重用所包含的类,而无需再次使用它。

或者您可以创建自动加载器,在需要时导入文件。如果它已经存在,它将返回所需的实例而不会产生额外的开销。自动装带器会跟踪已包含或必需的文件。

也就是说,使用include或required,您可以加载文件。而不是required_once或include_once,它们保持包含文件。