我想用:
function list(args);
但list
是保留字。
我可以从PHP中删除列表功能,禁用它,还是以其他方式?
答案 0 :(得分:11)
不,你不能,也不应该。重新定义内置函数是一件坏事,特别是像list
那样基本的东西,它根本不是函数 - 它是一种语言结构。
您所能做的只是为您的功能提供一个独特的名称。
答案 1 :(得分:6)
在正常情况下,不,你不能删除一个功能。
使用runkit扩展名(我几乎从未见过安装在服务器上 - 绝对不会在生产服务器上安装!),你有{{3>功能,这可能会有所帮助。
与其他调试扩展程序相同,例如runkit_function_remove()
,它提供APD,顺便说一句。
使用PHP> = 5.3和命名空间,您还可以在自己的命名空间内重新定义一个函数,该函数可以排除替换全局命名空间之一。
但请注意 override_function()
不是函数:它是语言构造 - 因此,它的行为不像函数... < / p>
作为旁注:即使可能(和/或在可能的情况下),用自己的功能替换现有的功能,这不是一回事,不是一个好主意:阅读代码的人,保持它,将有更多的困难了解它的作用!
答案 2 :(得分:5)
您只能使用runkit或APD扩展名重命名/删除核心功能。 list实际上不是一个函数,而是一个语言结构,因此即使使用这些扩展也无法重命名。
你应该为自己的函数使用更好的名称选择... list()不是特别有意义。列出什么?