facebook twitter hatena line email

Php/php8

提供: 初心者エンジニアの簡易メモ
2026年4月7日 (火) 15:16時点におけるAdmin (トーク | 投稿記録)による版 (smartyのテンプレのincludeで使ってない変数の警告対応)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

クラス名の関数をconstructとして完全に使えなくなった

php7までは非推奨で、php8からは、完全に使えない。 __construnct()にする。

smartyのテンプレの使ってない変数の警告対応

エラー詳細

Warning: Undefined array key "key" 

修正前

{{if $request.key}}

修正後

{{if isset($request.key)}}

smartyのテンプレのincludeで使ってない変数の警告対応

エラー詳細

Warning: Undefined array key "wordlike" 

修正前

{{include file="parts/box.tpl" request=$request wordlike=$wordlike|default:''}}

修正後

{{include file="parts/box.tpl" request=$request wordlike=$wordlike|default:''}}

smartyのテンプレのincludeで使ってない配列変数の警告対応

エラー詳細

Warning: Undefined array key "request" 

修正前

{{include file="parts/box.tpl" request=$request}}

修正後

{{include file="parts/box.tpl" request=$request|default:[]}}

smarty3について、php8だとエラーが出る

2026/4時点の最新smarty3.1.48だと、エラーがでる。

Fatal error: Type of SmartyCompilerException::$line must be int (as in class Exception) in smarty-3.1.48/libs/sysplugins/smartycompilerexception.php on line 8

smarty3について、php8だと警告が出る

smarty3.1.39に落としても、別の箇所で、警告がでる。

Warning: Undefined array key "start_time" in smarty-3.1.48/libs/sysplugins/smarty_internal_debug.php on line 146
Warning: Undefined array key "start_template_time" in smarty-3.1.48/libs/sysplugins/smarty_internal_debug.php on line 73

Staticがついてないエラー

Staticコールが、できなくなって強制的に、エラー画面がでる。

エラー詳細

Non-static method SessionModel::getInstance() cannot be called statically

対応前

public function getInstance()

対応後

public static function getInstance()

list取得が配列が存在しない警告になる場合

エラー詳細

Warning: Undefined array key 1

修正前

list($dummy, $dummy, $uri_domain) = explode("/", $target);

修正後

$parts = explode("/", $target, 3);
$uri_domain = $parts[2] ?? ;