2010-04-26 26 views
4

我想知道什么@意味着当我们使用它之前包括或需要在PHP?@意味着什么之前包括或需要

如:

@include('block.php'); 

也许它是一个noob问题,但我需要知道这家伙?!

很抱歉对于

+0

绝对重复! – sepehr 2010-04-26 21:53:27

+0

参见例如http://stackoverflow.com/questions/1032161/what-is-the-use-of-symbol-in-php和http://stackoverflow.com/questions/138159/php-alias-function – VolkerK 2010-04-26 23:23:30

回答

10

@是关闭起来操作。如果出现问题,则不会显示错误消息。使用它通常是一种不好的做法;首先是因为错误信息的发生是有原因的,其次是因为它的功能太慢了。

这大致相当于在包装声明:

$oldErrorLevel = error_reporting(0); 
// the statement 
error_reporting($oldErrorLevel); 

Here's the link to the PHP manual page documenting it.

+0

我认为你的答案是更完整的,关键点,其实我猜对了,但我不确定,谢谢 – 2010-04-26 22:26:20

3

@函数调用之前抑制任何错误,该功能将正常输出。

include的情况下,如果block.php不存在,那么这样做的人希望脚本继续前进。这样做的更好的办法通常是做这样的事情,而不是:

if(is_readable('block.php')) { 
    include('block.php'); 
} 
+3

还有其他原因它可以阻止加载文件,如权限。 – zneak 2010-04-26 21:53:51

+0

好点。更新为使用'is_readable'来代替。 – ceejayoz 2010-04-26 21:56:33

0

@是PHP错误supression运营商,你不会看到任何错误,如果文件没有在语句中找到。