- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我们在 Myfile.php
中添加一个文件后:
require_once 'abc.php';
或
include_once 'abc.php';
我们将如何删除文件?或者如何在某段代码后停止访问abc.php
文件内容?
最佳答案
在 PHP 中,资源一旦被包含,就不能删除 或“取消包含”。这就是 PHP 文件包含的原则。请参阅:http://www.php.net/manual/en/function.include.php
The include statement includes and evaluates the specified file.
一旦解释器评估您的代码,工作就完成了。所有操作都已考虑在内,为了撤消更改,您必须执行相反的操作。例如,如果您的包含文件声明了类 MyClass
,那么您将需要取消定义它,这也是不可能的,原因与上述相同。请参阅:Unset Class .
如果您的文件实际上添加了函数而不是类,那么从PHP 5.3 开始,您可以使用anonymous functions。 .这允许您将函数分配给变量,变量可以是unset .参见 this answer for details .
如果您的代码逻辑的一部分在某个时候必须消失,那么您在实现之前没有花费足够的时间设计。
如果由于名称冲突而需要撤消包含,问题几乎相同。但是,在这种情况下的解决方案是使用 namespaces .不过,对您的应用程序设计进行一些审查应该足以避免此类冲突。
编辑框架: 单个框架无法适用于每个应用程序。例如,Symfony 绝对在任何地方都使用 namespace 来避免任何可能的冲突(但还是会发生一些冲突)。如果您的框架无法为您提供轻松区分两个具有相同名称的模型类的可能性,那么我会说它不适合(至少不适合您的设计)。
关于php - 如何在将文件包含在 php 中后排除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436563/
我是一名优秀的程序员,十分优秀!