我正在学习面向对象的php。我遇到了一些我不完全理解的代码。此代码在一个类中。
1) 使用@的代码。例如:
$this->image = @imagecreatefromgif($filename);
有人可以解释@的用途吗?
2)而且看起来脚本正在以我不习惯的方式($var方式)声明变量。
例如:
$this->ext = $size['mime'];
$ext 在使用此代码之前没有声明,但在它之后使用。这会在对象中创建一个 $ext 变量吗?
多谢你们!!
我正在学习面向对象的php。我遇到了一些我不完全理解的代码。此代码在一个类中。
1) 使用@的代码。例如:
$this->image = @imagecreatefromgif($filename);
有人可以解释@的用途吗?
2)而且看起来脚本正在以我不习惯的方式($var方式)声明变量。
例如:
$this->ext = $size['mime'];
$ext 在使用此代码之前没有声明,但在它之后使用。这会在对象中创建一个 $ext 变量吗?
多谢你们!!
将@
抑制错误,以便不会显示该表达式的错误。
http://php.net/manual/en/language.operators.errorcontrol.php
@ 是 php 的错误抑制运算符,你永远不应该使用它
您应该处理错误而不是忽略,优势是您会得到很长时间的通知,这也有助于调试
最坏的情况如下所示,如手册中所述
目前,“@”错误控制运算符前缀甚至会禁用将终止脚本执行的严重错误的错误报告。除其他外,这意味着如果您使用“@”来抑制某个函数的错误,并且它不可用或输入错误,则脚本将在那里死掉,而没有说明原因。
@
表示“调用此函数时禁止警告”。