我正在以交互模式测试一些与数据库相关的功能。
我做的第一件事是包含测试文件,让我们说数据库.php
然后我可以通过函数调用对数据库进行更改。
问题是,当我对database.php进行任何更改时,我已退出PHP交互模式,重新输入,再次包含测试文件。
我正在寻找一种在交互模式下重新加载包含文件的方法。
答案 0 :(得分:2)
没有简单的方法可以解决这个问题,因为PHP不是为这个工作而构建的,但有一些事情你可以看一下,因为它可能会为你完成这项工作。但是,这一切都取决于database.php
。
创建一个简单的函数,例如reset
,并使用PHP的runkit functions更新您的包含。
如果您的database.php
包含函数,则需要先remove这些函数再重新包含它们。如果您的文件中定义了一个类,您可以尝试import函数,只需调用为您完成所有这些操作的函数,但最后这只是手工劳动,查看其他替代方法可能更简单。
我在浏览器中使用自动刷新计时器每隔#秒刷新一次页面。但是我有两个屏幕,这使得使用这种方法更容易。
答案 1 :(得分:0)
这是你永远不应该做的事情。它将创建双重功能,这将在PhP解释器中造成混乱。
您应该要求范围之外的文件,因此它们是全局可用的,这样您可以减少服务器开销(内存使用)并直接重用所包含的类,而无需再次使用它。
或者您可以创建自动加载器,在需要时导入文件。如果它已经存在,它将返回所需的实例而不会产生额外的开销。自动装带器会跟踪已包含或必需的文件。
也就是说,使用include或required,您可以加载文件。而不是required_once或include_once,它们保持包含文件。