Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除整个PHP类_Php_Oop - Fatal编程技术网

删除整个PHP类

删除整个PHP类,php,oop,Php,Oop,假设类存在于我的代码中,那么以后我不再需要这个类,并且希望删除它(这样以后我可以用一个新类替换它) 是否可以从运行时删除整个类?否,您不能在运行时删除或大量修改PHP类(或函数)。使用unset($classVariableName)删除实例,它将释放内存 如果类的定义在运行时不应该存在,则需要在单独的文件中添加该类,并且仅当需要时才应包含该文件。这样您就可以有两个具有相同类名的不同类定义。但是使用两个同名的不同定义不是一个好办法。可以使用unset()删除对象,但不能删除类本身。老实说,在运行

假设类存在于我的代码中,那么以后我不再需要这个类,并且希望删除它(这样以后我可以用一个新类替换它)


是否可以从运行时删除整个类?

否,您不能在运行时删除或大量修改PHP类(或函数)。

使用unset($classVariableName)删除实例,它将释放内存


如果类的定义在运行时不应该存在,则需要在单独的文件中添加该类,并且仅当需要时才应包含该文件。这样您就可以有两个具有相同类名的不同类定义。但是使用两个同名的不同定义不是一个好办法。

可以使用unset()删除对象,但不能删除类本身。老实说,在运行时修改这样的代码听起来既麻烦又混乱——难道没有更好的选择吗?

您可以重新定义类:它意味着什么?你想替换PHP文件中的编码还是想重新初始化类变量?@Nish我认为他的意思是:定义类时,它会占用内存空间(只是类本身,而不是它的实例),因此当他处理完类时,他想释放类定义占用的内存空间。Shaheer已经足够接近了。我想从运行时删除它,这样我就可以用一个同名的新类重新定义它。Shaheer:RAM现在很便宜。是的,不可能卸载类定义本身。只有实例可以被删除。除了读取文件、随机化类名然后评估代码之外,没有其他选项。克鲁奇——给你。这是我设置的体系结构的一部分。我需要能够替换正在运行的类。
class foo{
    ....
}