1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误(转载)

原文地址:http://www.kafka0102.com/2010/08/281.html

 

因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/test.php on line 8”。查找代码,发现报错的代码类似:“$class_name::func1();”,也就是使用一个表示类名的字符串变量来调用它的静态方法,并且是解析时的语法错误(我第一眼看到::时,脑子里浮现的是C++里的作用域符号,好长时间后才想起PHP里::也有这种东西,我也是用过self::doSomething()的)。这代码在测试机和生产机跑着呢,应该不会有问题。就到测试机测试了一下,果然没问题。对比PHP的版本,测试机的是最新的5.3.3,而我的是5.2.13。原因估计就是版本或者配置方面的不同造成了。于是google之,我勒个去,结果一堆页面都是在热火朝天的讨论PAAMAYIM_NEKUDOTAYIM这个怪异的词组什么意思,看得多了,我也明白了,Paamayim Nekudotayim是希伯来语,表示双冒号的意思,也就是double-colon,但却没看到有人提提这个error如何解决。后来总算在官网 http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php 找到答案,原来“$class_name::func1();”这种用法是5.3以后才支持的。我晕!重新安装了最新的PHP后,程序正常了。好吧,与时俱进很重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值