Why PHP 4.4.9 throws 'Parse error: syntax error, unexpected T_STATIC'? [closed]
Asked Answered
R

1

5

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?

Retrace answered 14/1, 2010 at 21:5 Comment(2)
What you see in the PHP 4 changelog are references to static methods, not the static keyword.Stralka
for those who doubt if static is something specific to php5.x, checkout sfr-fresh.com/unix/www/php-4.4.9.tar.gz:a/php-4.4.9/Zend/…Retrace
K
14

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!

Kettledrum answered 14/1, 2010 at 21:7 Comment(5)
+1 Yup - public/private/protected and static are PHP 5 only I believe.Forseti
True that. Static is PHP 5 specific.Stralka
sfr-fresh.com/unix/www/php-4.4.9.tar.gz:a/php-4.4.9/Zend/…Retrace
...I'm confused as to what that link is for. Are you saying I'm wrong?Kettledrum
Thanks for the answer and for all of the participants. Infact, like most of the functions PHP guys should have clearly mentioned it somewhere. I just downloaded the php 4.4.9 and checked my self and php 4.4.9 was like yaikh! no static keyword was recognized there. Regards!!Retrace

© 2022 - 2024 — McMap. All rights reserved.