define(...)和@define(...)之间的区别

Egi*_*sen 6 php

快速问题,以下两个声明之间有什么区别:

define('I_LIKE_AT_SIGNS', false);
Run Code Online (Sandbox Code Playgroud)

@define('I_LIKE_AT_SIGNS', true);
Run Code Online (Sandbox Code Playgroud)

@-sign做什么?

Mar*_*iot 11

@符号是PHP唯一的错误控制操作符,当前置于任何表达式时,将抑制与该表达式关联的所有错误.

在这种情况下,define将抑制与表达式相关的任何错误.

@通常不鼓励或推荐使用错误抑制技术.相反,使用其他错误捕获技术会更好,因此您可以检测并处理错误.

  • 它也被称为"闭嘴"操作员. (6认同)

tcn*_*rss 7

它可以防止我相信的错误消息.

" 在PHP中,它在表达式之前使用,以使解释器抑制将从该表达式生成的错误" - 来自维基百科

谨慎使用!!