【问题标题】:Why PHP 4.4.9 throws 'Parse error: syntax error, unexpected T_STATIC'? [closed]为什么 PHP 4.4.9 会抛出“解析错误:语法错误,意外的 T_STATIC”? [关闭]
【发布时间】:2010-01-14 21:05:20
【问题描述】:

我刚刚意识到,当static 关键字添加到 PHP 4 时,Google 教授无法提供我可以找到的特定页面。虽然遵循 change log for php 4 我可以看到它从版本 4.0.6 开始可用(或之前)但为什么会抛出:

解析错误:语法错误,意外的 T_STATIC,在 {FILE_PATH+LINE#} 中需要 T_OLD_FUNCTION 或 T_FUNCTION 或 T_VAR 或 '}'

简单代码如下:

class myClass
{
    static $_debug = true;
}

还是在早期版本的 PHP 中引入了这个类变量赋值?

【问题讨论】:

标签: php php4 syntax-error


【解决方案1】:

我很确定静态类变量对 PHP5 来说是新的,所以不能在 PHP4 中使用。

这里是交易:PHP4 可以在函数中使用static 关键字,而不是类。 static 的唯一 PHP4 用法是这样的:

function howManyTimes() {
    static $count = 0;
    echo "Function has been called $count times.";
    $count++;
}

该变量永远绑定到函数的作用域。这就是 PHP4 解释static 的方式。您尝试使用的 PHP5 解释在您当前的 PHP 版本中不可用。对不起!

【讨论】:

  • +1 是的 - 我相信 public/private/protected 和 static 只是 PHP 5。
  • 确实如此。静态是 PHP 5 特有的。
  • ...我对那个链接的用途感到困惑。你说我错了吗?
  • 感谢您的回答和所有参与者。事实上,就像大多数 PHP 人应该在某处明确提到的函数一样。我刚刚下载了 php 4.4.9 并检查了我自己,php 4.4.9 就像 yaikh!那里没有识别出静态关键字。问候!!
猜你喜欢
  • 2011-06-07
  • 2013-10-02
  • 1970-01-01
  • 2011-10-16
  • 2018-06-29
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多