PHP编程中 @符号的作用

在编程过程中我们经常会遇到@这个符号,例如(C#)中:通常在路径字符串中我们会使用@表示强制不转义。@"C:\Program Files\TTPlayer\TTPlayer.exe "

在PHP编程中我们也经常会看到@符号,之前也很少关注这个符号,只知道是屏蔽错误的。例如下列的代码中,明明程序的结果都出来了,但是还出现这样的warning,这并不是 php 版本问题,而是 php 配置问题。

一般是由于PHP版升级的原因,PHP 5.4 以上的版本一般会报这个错误。

Warning: Creating default object from empty value in D:\work\cmisTEST\Alfresco_CMIS_API.php on line 441
Warning: Creating default object from empty value in D:\work\cmisTEST\Alfresco_CMIS_API.php on line 442
Warning: Creating default object from empty value in D:\work\cmisTEST\Alfresco_CMIS_API.php on line 443
Warning: Creating default object from empty value in D:\work\cmisTEST\Alfresco_CMIS_API.php on line 444
==================================== Contained objects: Data Dictionary (cmis:document) Guest Home (cmis:document) User Homes (cmis:document) Imap Attachments (cmis:document) Sites (cmis:document) DemoFolder (cmis:document) ACCT (cmis:document) dev (cmis:document) 1508725606009.jpg (cmis:document) 1508725628733.jpg (cmis:document) 1508725869696.jpg (cmis:document) USER (cmis:document) 测试文本.txt (cmis:document)

只需要修改php程序即可,如下:

@$this->containedObjects[$x]->objUrl=(string)$objUrl;
@$this->containedObjects[$x]->author=(string)$ent->author->name;
@$this->containedObjects[$x]->title=(string)$ent->title;
@$this->containedObjects[$x]->type=$objType;

或者在修改php.ini文件,或是在程序顶部增加ini_set( 'display_errors', 'off' );代码块即可。

总结

@是可以屏蔽函数执行过程中遇到问题而产生的一些错误、警告信息,这样用户就看不到程序的出错信息。这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值