トップページ > プログラム > PHP > PHP で「Non-static method *** should not be called statically」が出る場合の対応方法
PHP で「Non-static method *** should not be called statically」が出る場合の対応方法
PHP を利用しているとエラーログ等に「Non-static method *** should not be called statically」が表示されることがあり、このエラーが出る原因と対応方法について紹介する。
1. 「Non-static method ~」の全文と翻訳
PHP のプログラムを動作させてエラーログ等に「Non-static method ~」が出る時の全文が下記となる。
[24-Dec-2019 19:44:17 Asia/Tokyo] PHP Deprecated: Non-static method {クラス名}::{関数名}() should not be called statically in ○○.php on line {行数}
このエラーを翻訳すると次のようになり、呼び出した関数が静的でないことを示している。
PHP 非推奨:非静的メソッド {クラス名}::{関数名}() {行数}行目の○○.php で静的に呼び出さないでください
2. 「Non-static method ~」が出る原因
「Non-static method ~」が出る原因としては、利用しようとしている関数が静的な呼び出しに対応していないためである。
例えば次のような testClass の中に testFunction() という関数があったとする。
class testClass { public static function testFunction() { (処理) } }
上記の関数を呼び出して利用したい場合は、次のように {クラス名}::{関数名}() のように「::」を利用する。
testClass::testFunction();
この「::」を利用する呼び出し方法は、関数が static(静的)の宣言が成されているときに利用できるもので、関数に static が無い場合は「Non-static method ~」のログが表示される。
3. 「Non-static method ~」が出た時の対応方法
「Non-static method ~」エラーログ等に出た時の対応方法としては、まず呼び出そうとしている関数に static が付いているかどうかを確認する。
もし static が無ければ静的な呼び出しができないため static を次のように付けるとエラーが出ずに正常に呼び出すことができる。
<?php class testClass { public static function testFunction() { (処理) } } testClass::testFunction();
また、static が宣言されていない関数を呼び出す際には一度 new でインスタンスとして生成してから「->」を利用して呼び出す。
<?php class testClass { public function testFunction() { (処理) } } $obj = new testClass(); $obj->testFunction();
関連記事
Windows に Python をインストールして実行する方法
プログラム
Python は AI やディープラーニングで利用されるプログラム言語で IT エンジニアの取得したいスキルの 1 つに挙げられており、まずは簡単な動作確認するために Python を Windows にインストールして実行する方法を紹介する。
内部結合(INNER JOIN)と外部結合(LEFT/RIGHT JOIN)の違い
プログラム
データベースの操作で結合(リレーション)と呼ばれる 1 回の参照で複数のテーブルの情報を合わせて表示する機能があり、結合方法として用意されている内部結合(INNER JOIN)と外部結合(OUTER JOIN)の使い方と違いについて解説する。
Mapbox の地図データをサイト内に埋め込む基本的な使い方
プログラム
ウェブサイトやブログに地図を埋め込む場合に無償または有償で提供されている地図サービスを利用できるが、いくつかある地図サービスの中から Mapbox の地図データをサイト内に埋め込む方法について紹介する。
Google Map API を使ってサイトに地図を埋め込む方法とキーの取得
プログラム
ウェブサイトやブログに地図を埋め込む際に無償または有償で公開されている地図サービスを利用することができるが、その中で Google Map をウェブサイトに埋め込む方法と利用にあたり必要なキーの取得について紹介する。
PHP を Windows にインストールして動作確認する方法
プログラム
PHP はサーバで動作するプログラム言語(CGI)で、ブログの Wordpress の動作環境にもなっており広く利用されているが、サーバではない手元の Windows OS のパソコンでも PHP が動作するようにインストールと簡単な動作確認できるところまでを紹介する。