2016-11-23 5 views
0

static ::キーワードを使用するための最小限のPHPバージョンは何ですか?

class MyClass 
{ 
    public static function myFunction() 
    { 
     static::myOtherFunction(); 
    } 

    private static function myOtherFunction() 
    { 
     … 
    } 
} 

のようなものを使用してPHPパーサは、古いバージョンのPHPで

Parse error: syntax error, unexpected T_STATIC in ….php on line … 

を文句を言うでしょう。私は参照を見つけることができませんでしたが、最小限のPHPバージョンは、そのようなstaticキーワードを使用することになります。

+1

Late Static Bindings、5.3、http://php.net/manual/it/language.oop5.late-static-bindings.php – Federkun

+1

最新のPHPバージョンを使用しているのはなぜですか?はるかに強力でサポートされています。 – Twinfriends

+0

このエラーを表示する実際のコードを表示してください。そのコードで<5.3であれば、そのエラーは発生しません。 –

答えて

1

それはあなたのように遅延静的バインディングを使用することはできませんを意味し、PHP 5.3より古いPHPのバージョンを使用しているためですhttp://php.net/manual/en/language.oop5.static.php

+2

ここで証明:https://3v4l.org/vBd1B – BlitZ

2

経由5.3.0

As of PHP 5.3.0, it's possible to reference the class using a variable. The variable's value cannot be a keyword (e.g. self, parent and static).

ですstatic :: myOtherFunction()は認識されません。

関連する問題