古いプログラムのPHP8.1へのアップデート

PHP7.4系が2022年11月28日で公式サポート終了となりました。弊社でも古いプログラムをPHP8.1へアップデートしています。そのときの改修作業の記録です。

対象は、2015年頃に作成したプログラムです。当時はPHPが5.5~5.6ぐらいでした。

ファイル名:行 Undefined variable $変数名

定義されていない変数を呼び出すとエラーになります。

    echo h($description);

PHP5の頃だと、↑のようにカジュアルに書いて画面出力するようなケースもありましたが、現在はエラーになります。

    if (isset($description)) {
        echo h($description);
    }

↑のように、例えばisset($description)のように、変数がセットされているかチェックする必要があります。

ファイル名:行 Undefined array key $配列名

配列の定義されていないキーを呼び出すとエラーになります。先ほどは定義されていない変数でしたが、今回はその配列バージョンですね。

    echo h($blog['description']);

PHP5の頃だと、↑のようにカジュアルに書いて画面出力するようなケースもありましたが、現在はエラーになります。

    if (array_key_exists('description', $blog)) {
        echo h($blog['description']);
    }

↑のように、例えばarray_key_exists('description', $blog)のように、配列のキーがセットされているかチェックする必要があります。

Non-static method クラス::メソッド cannot be called statically

スタティックでないメソッドを、スタティックに呼び出そうとしているとエラーになります。

    public static function メソッド()

↑のように、staticキーワードを追加しました。

※本記事では、弊社のプログラムの改修時に遭遇したものを列挙していますが、それ以外にも改修が必要なものがあるかもしれません。

新着ブログ記事
ウェブ集客
ウェブ集客

クイズ、計算式など、ホームページ訪問者の興味・関心・満足度を高めるコンテンツを提供する仕組み。一度来てくださった方の再訪問率を高める。

濃い見込み客を見つけるホームページ自動見積もりシステム
濃い見込み客を見つけるホームページ自動見積もりシステム

自動見積計算と見積PDF作成を行うサービスです。濃い見込み客を抽出する仕組みで、御社のホームページを営業マンにします。

代表者の書籍
代表者の書籍

弊社代表の書籍です。専門学校の教科書・参考書としても採用実績があります。