LoginSignup
4
3

More than 5 years have passed since last update.

【PHP】PHP7では abstract static function はエラーにならない

Last updated at Posted at 2018-01-28

Googleで「php abstract static function」 を検索すると、抽象クラスで abstract static function は宣言できないという記事がいくつか上位に出てきて混乱したのでメモしておきます。

abstract static function はPHP 5.2で一度使用できなくなりましたが、PHP7では再び使用できるようになっています。

従って、下記のコードはPHP7では問題なく動作します。

PHP
abstract class AbstractClass
{
    // 静的な抽象メソッドを宣言
    abstract static public function method();
}

class ExtendedClass extends AbstractClass
{
    // 静的な抽象メソッドの実装
    static public function method()
    {
        // do something
    }
}

// 静的メソッドの呼び出し
ExtendedClass::method();

参考:PHP 5.6.x から PHP 7.0.x への移行:下位互換性のない変更点

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3