【问题标题】:T_PAAMAYIM_NEKUDOTAYIM error calling static methodT_PAAMAYIM_NEKUDOTAYIM 调用静态方法时出错
【发布时间】:2012-08-31 21:29:30
【问题描述】:

我有这个错误:

解析错误:语法错误,意外的 T_PAAMAYIM_NEKUDOTAYIM,期望 T_VARIABLE 在第 98 行的 blog/wp-content/plugins/plugin/php/utils/cloud_data.php 中

static public function set_templates()
{
    static::fetch_templates(); // line 98
}

static private function fetch_templates($folder_identifier = '')
{
    // ..
}

Google 说 T_PAAMAYIM_NEKUDOTAYIM 的意思是期待。所以错误意味着:期待 T_VARIABLE。

但是为什么呢? fetch_templates() 函数将他的参数初始化为''

【问题讨论】:

  • 您使用的是哪个版本的 PHP?静态关键字是 php 5.3
  • PAAMAYIM 是希伯来语的“两次”,NEKUDOTAYIM 的意思是“冒号”,所以它需要一个变量,而它有一个双冒号(命名空间运算符)。
  • php 5.3+。双冒号? :|好吧,它有双冒号...
  • @NomikOS:在 php 5.3+ 中它不应该抛出这样的消息

标签: php static-methods


【解决方案1】:

static:: 是在 5.4 5.3 中引入的,您可能有较旧的 php

在您的情况下,您可以将其替换为

self::fetch_templates();

【讨论】:

  • 如果你使用的是 5.3 之前的版本,你最好升级而不是解决它,因为 PHP5.2 已经有一段时间不支持了。跨度>
  • @SDC:我使用 php 5.3+ 一年多了,我从来没有用过static:: ;-)
  • @zerkms - 我的评论更多是针对 OP 而不是针对您 :) static:: 可能很有用,尽管我也想不出上次需要它的时间。
  • @SDC:是的,我刚刚做了一个旁注:-) PS:静态方法是邪恶的;-P
  • 是的,我们可以不用静态方法而生活,但多亏了它们,我周末有时间喝啤酒:)
猜你喜欢
  • 2018-05-14
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多