PHPのエラー『Notice: Non-static Method Should Not be Called Statically』の解決方法

  • 作成日 2025.06.07
  • php
PHPのエラー『Notice: Non-static Method Should Not be Called Statically』の解決方法

PHPで開発中に『Notice: Non-static Method Should Not be Called Statically』というエラーが発生することがあります。このエラーは、非静的メソッドを静的に呼び出した場合に発生します。この記事では、このエラーの原因と解決方法について詳しく説明します。

エラーの発生条件

『Notice: Non-static Method Should Not be Called Statically』は、非静的メソッドを静的に呼び出した場合に発生します。このエラーは、主に以下のような状況で発生します。

1. 非静的メソッドを静的に呼び出した場合

非静的メソッドを静的に呼び出した場合、このエラーが発生します。

<?php
class MyClass {
    public function nonStaticMethod() {
        echo "Non-static method";
    }
}

MyClass::nonStaticMethod(); // Notice: Non-static method MyClass::nonStaticMethod() should not be called statically
?>

2. 静的メソッドとして定義されていないメソッドを静的に呼び出した場合

静的メソッドとして定義されていないメソッドを静的に呼び出した場合、このエラーが発生します。

<?php
class MyClass {
    public function nonStaticMethod() {
        echo "Non-static method";
    }
}

MyClass::nonStaticMethod(); // Notice: Non-static method MyClass::nonStaticMethod() should not be called statically
?>

これらの例を見てわかるように、『Notice: Non-static Method Should Not be Called Statically』は、主に非静的メソッドを静的に呼び出した場合に発生します。非静的メソッドを正しく呼び出すことで、このエラーを解決することができます。