我可以删除php功能吗?

mon*_*nym 0 php

我想用:

function list(args);
Run Code Online (Sandbox Code Playgroud)

但这list是一个保守的词.

我可以从PHP中删除列表功能,禁用它,还是以其他方式?

mea*_*gar 11

不,你不能,也不应该.重新定义内置函数是一件坏事,特别是基本的东西list,它根本不是一个函数 - 它是一种语言结构.

您所能做的就是为您的功能提供一个独特的名称.


Pas*_*TIN 6

在正常情况下,不,你不能删除一个功能.

使用runkit扩展(我几乎从未见过安装在服务器上 - 绝对不会在生产服务器上安装!),你可以使用这个runkit_function_remove()功能,这可能有所帮助.

与其他调试扩展相同,例如APD,它提供了override_function()btw.


使用PHP> = 5.3和命名空间,您还可以在自己的命名空间内重新定义一个可以替换全局命名空间的函数.


但请注意,这list()不是一个函数:它是一种语言结构 - 因此,它的行为不像函数......


作为旁注:尽管可能(和/或在可能的情况下),用自己的功能替换现有的功能,这不是一个好主意,但这不是一个好主意:阅读代码,维护代码的人会遇到更多困难了解它的作用!


Mar*_*ker 5

您只能使用runkit或APD扩展名重命名/删除核心功能.list实际上不是一个函数,而是一个语言构造,因此即使使用这些扩展也无法重命名.

您应该为自己的函数使用更好的名称选择... list()不是特别有意义.列出什么?