2015-11-26 38 views
1

我正在以交互模式测试一些数据库相关功能。PHP在交互模式下取消或重新包含文件

我做的第一件事就是包括测试文件,假设为database.php

然后,我可以通过一个函数调用做出更改数据库。

的问题是,当我做出database.php中的任何改变,我必须退出PHP交互模式,重新进入,又包括测试文件。

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

回答

2

有这样做的原因PHP不建立这个工作没有简单的方法,但也有一些事情你可以看一看,因为它可能会为你做的工作。但是,这全部取决于您的database.php中的内容。

创建一个简单的功能,像reset和使用PHP的runkit functions更新您的包含。

如果您的database.php包含函数,则需要在包含函数之前再次使用remove。如果你的文件有一个定义在其中的类,你可以试试import函数,只需调用完成所有这些工作的函数,但最终这些都是手工操作,并且查看其他替代方法可能会更简单。

我个人使用我的浏览器中的自动刷新计时器刷新页面每隔#秒。不过,我有两个屏幕,使得使用这种方法更容易。

0

这是你永远不应该做的事情。它会产生双重功能,这会在PhP翻译中造成混乱。

如果您需要的文件你的范围,所以他们是全球可用,这样可以降低服务器开销(内存使用),并且直接再利用包括类,而无需再次要求它。

或者您可以创建一个自动加载器,在需要时导入该文件。如果它已经在那里,它将返回所需的实例而没有额外的开销。自动加载器会记录已经包含或需要的文件。

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

+1

PHP不会允许你创建“双重功能”。抛出一个已经定义的错误。 – Xorifelse

+1

因此,在解释器中的短语混淆。 – sillysicko