PHP7を使っているのに古い書き方をしていたので、システム大改修

update-1672385_1280
LINEで送る
Share on GREE
Share on LinkedIn

今現在、個人的に作っているWordpressに変わる自分専用フレームワークを、ロンチタイミング目前にして、PHPを最新バージョンに対応してみたくなり、勢いだけで行った作業を備忘録として残しておきます。
 

今後、旧バージョンのPHP環境があった場合は、下記作業内容をデグレ作業内容として行うための備忘録です。
 

え?今更・・・っていう意見は、この際聞くまでもない、個人的には古い記述で上位互換を重要視してきていたんですが、
さすがにプログラム言語でphp7が主流になってきているのに、PHP5.2以下のバージョンで書き続ける事に少し嫌気がさしてきたので、
あくまで言語バージョンに対する対応作業として行おうと思います。

システム改修ポイント

phpファイルと、それを呼び出している関連モジュール全般が変更対象ファイルです。
 

プログラムはバージョンアップで下位互換性が無くなることはよくある話ですが、PHPも例外ではありません。
 

PHP 5.2.x から PHP 5.3.x への移行 | PHP
 

PHPリファレンスサイトを見てもわかりますが、非常に細かなバージョンで差分が発生しています。
 

都度チェックしておかないと、かなり置いてけぼりになってしまいますね。

変更内容

そして肝心の今回の変更内容は以下の通りです。

1. class-methodの呼び出しをインスタンス処理せずに呼び出す

2. class内のmethodにstaticを付与する

3. class内のローカル変数もstatic化する

4.$this->hoge()アクセスをself::hoge()に変更

ハマりポイント

そして、今回やってみてエラーログとの戦いになった件を報告
まず、実行時に発生していたエラーは下記の通り、

 

どうやら、指定の変数名が無いと言われているようだ。
 

そして自ら凡ミスを発見!
%nbsp;

 

上記ではなく、下記が正解でした。

以前のバージョンでは、

となっていたので、すっかり$を付けることを忘れていたようです。
%nbsp;

でも、実はこの方が検索もし易いしコーディングエラーも無くなるイメージがあるので、上位バージョンの方が整っているように思えます。
 

理不尽なのは下位バージョンだったんですね。
 

これからは過去を振り変わらずに、より上位を志してまっすぐに進んで行こうと心に誓いました。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*