何时使用@,以及不同的方式来声明变量?

时间:2013-08-01 17:01:26

标签: php syntax error-suppression

我正在学习面向对象的php。 我遇到过一些我不太了解的代码。 此代码属于一个类。

1)使用@的代码。 例如:

$this->image = @imagecreatefromgif($filename);

有人可以解释@。

的用法

2) 此外,它看起来像脚本以我不习惯的方式声明变量($ var方式)。

例如:

$this->ext = $size['mime'];

$ ext在使用此代码之前未声明,但在它之后使用。这会在对象中创建$ ext变量吗?

谢谢你们!

3 个答案:

答案 0 :(得分:1)

@将抑制错误,以便不会显示该表达式的错误。

http://php.net/manual/en/language.operators.errorcontrol.php

答案 1 :(得分:1)

@是php的错误抑制操作符,你永远不应该使用它

你应该处理错误而不是忽略,并且你会得到长时间的通知,这对于调试也是有帮助的

最糟糕的情况将如manual

中所述
  

目前,“@”错误控制操作符前缀甚至会禁用错误报告,以解决将终止脚本执行的严重错误。除此之外,这意味着如果你使用“@”来抑制来自某个函数的错误,并且它不可用或者输入错误,那么脚本就会在那里死亡而没有任何关于原因的指示。

答案 2 :(得分:0)

@表示“在调用此函数时禁止警告”。