为什么 PHP 4.4.9 抛出“解析错误:语法错误,意外的 T_STATIC”?

发布于 2024-08-18 09:56:43 字数 438 浏览 5 评论 0原文

我刚刚意识到,当 static 关键字添加到 PHP 4 中时,Google 教授无法提供我可以找到的特定页面。尽管遵循 php 4 的更改日志 我可以看到它自版本 4.0.6(或之前)以来可用,但为什么它会抛出:

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

简单代码如下:

class myClass
{
    static $_debug = true;
}

或者这个类变量的分配是在早期版本的 PHP 中引入的?

I just realized the professor Google is unable to present a specific page where I can find out, when static keyword added to PHP 4. Though following the change log for php 4 I can see that it was available since Version 4.0.6 (or before) but why does it throws:

Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in {FILE_PATH+LINE#}

for a simple code as follows:

class myClass
{
    static $_debug = true;
}

Or this assignment of class-variable was introduced in earlier versions of PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若无相欠,怎会相见 2024-08-25 09:56:43

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

事情是这样的:PHP4 可以在函数 中使用static 关键字,而不是类。 PHP4 中 static 的唯一用法如下:

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

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

I'm pretty sure static class variables are new to PHP5, so can't be used in PHP4.

Here's the deal: PHP4 can use the static keyword in functions, not classes. The only PHP4 usage of static was like this:

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

That variable is bound to the function's scope forever. That's how PHP4 interprets static. The PHP5 interpretation you are trying to use is not available in your current PHP version. Sorry!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文