Why PHP 4.4.9 throws 'Parse error: syntax error, unexpected T_STATIC'?

php, php4, syntax-error

Solution

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!

Problem

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?

Original source