关闭“缺少参数”警告

时间:2013-05-03 02:10:06

标签: php

我倾向于在PHP中获得很多这些:

Missing argument 2 for ui_alert()

我理解如何“修复它”,但这不是我想要的。我想要的是更改我的错误报告设置,以便它们不会显示。

我喜欢尽可能广泛地报告错误,但对我来说这个警告似乎很荒谬。每次更新函数以处理某个用例时,我都必须更改我的整个代码库。除非我遗漏了什么,否则它不会引入任何安全问题。

我可以在不关闭任何其他警告的情况下抑制此特定警告吗?

2 个答案:

答案 0 :(得分:1)

请尝试解析null数据,而不是更改错误报告。请参阅下面的示例:

function User_Defined ($Argument_1, $Argument_2, $Argument_3){
 // Perform some functionality 
}

然后像这样调用你的函数:

    $I_Want_This_Only = 1; // Added, for the personal hate to spot obvious errors within my code. Without this, it will generate an undefined index. This is a personal preference. 
  User_Defined($I_Want_This_Only,null,null);

您可以检查每个函数调用并禁止显示消息。工作示例:

function User_Defined ($Argument_1, $Argument_2, $Argument_3){
 // Perform some functionality 
}

    $I_Want_This_Only = 1; // Added, for the personal hate to spot obvious errors within my code. Without this, it will generate an undefined index. This is a personal preference. 
  User_Defined($I_Want_This_Only,null);

返回错误:

  

警告:缺少User_Defined()

的参数3

但是打电话:

@User_Defined($I_Want_This_Only,null);

不会返回错误。


在理想的世界中,创建函数是为了接受多个参数。如果这些是user_defined函数,那么为什么创建它们以接受比实际想要的更多的参数?

最佳做法是不关闭错误报告。您可以关闭个别报告,例如:

noticewarning

但是,这将关闭属于通知或警告标准的每条错误消息的整个报告。因此,您可能会遇到可能对您的应用程序造成风险的潜在问题。


您有四种选择。

  • 修复你的错误代码,使函数接受参数    一个原因。
  • 通过添加null来填充参数来调用您的函数。
  • 禁止生成此问题的所有函数调用。但 这有它的主要垮台。
  • 关闭所有同时报告的warning条件。

答案 1 :(得分:1)

只需在ui_alert()函数声明中为您的参数添加一个默认值,例如null,该警告就会消失。

  

我可以在不关闭任何其他警告的情况下抑制此特定警告   警告?

没有。您可以关闭所有警告

有一个错误控制操作符(@)允许您抑制表达式的任何错误或警告,但这是一种不好的做法,它需要您更改“整个代码库”