1. ホーム
  2. php

[PHP] 非推奨。クラスと同じ名前のメソッドは、コンストラクタにならない...

2022-02-11 10:55:20

先日、phpのバージョンを5.6から7.0に変更したばかりですが、再度プロジェクトを開くと、以下のエラーが表示されます。

非推奨。の将来のバージョンでは、クラスと同じ名前のメソッドはコンストラクタになりません。 PHP

<スパン Smarty のコンストラクタは /www/platform/library/Platform/View/Smarty/Smarty.class.php で非推奨となっています。

<スパン <スパン <スパン smartyのテンプレートクラスはphp4のコンストラクタを使ったまま書かれていることがわかったので、smartyクラスを見つけた後、クラスと同じ名前の関数を見つけ、関数名を

<スパン は __construct で十分です。

<スパン <スパン <スパン PHP OOP では、クラス名と同じメソッド名をコンストラクタのメソッドとして使用します。これは、PHP 4 の記述方法です。PHP 5 では、__construct とクラス同名メソッドの両方をサポートしていますが、__construct メソッドが優先されます。
PHP 7 では、クラス名と同じ名前のメソッドをコンストラクタとして使用すると E_DEPRECATED レベルのエラーを報告するようになり、 今後のバージョンでは同名のクラスメソッドは

<スパン <スパン <スパン コンストラクターです。
しかし、プログラムは正常に実行されます。

  1. <?php
  2.         クラス a{ <未定義
  3.                 関数a(){ <未定義

  4.                 }
  5.         }
  6. ? >
コピーコード

非推奨: クラスと同じ名前のメソッドは、PHP の将来のバージョンではコンストラクタにならないでしょう。

コンストラクタのメソッド名。ということです。

  1. <?php
  2.         クラスa{ <未定義
  3.                 関数 __construct(){ <未定義
  4.                 }
  5.         }
  6. ? >