9 - 1 : Undefinedエラー(Warning/Fatal)を出さない書き方
empty(), isset(), default修飾子を活用した堅牢な条件判定パターン集です。
PHP 8.5での落とし穴:未定義キーの参照
古いテンプレートでよく見られた以下の書き方は、PHP 8.5環境で Undefined array key 警告の原因となります。
<{* 危険な例:$user['avatar'] が未定義だと Warning が発生する *}>
<{if $user.avatar != ''}>
<img src="<{$user.avatar}>" />
<{/if}>
<{* 安全な例 1:!empty() を使用(未定義でも警告が出ない) *}>
<{if !empty($user.avatar)}>
<img src="<{$user.avatar}>" />
<{/if}>
<{* 安全な例 2:default 修飾子を併用する *}>
<img src="<{$user.avatar|default:'/images/no_image.png'}>" />
安全なコーディングチェックリスト
- ✅ 連想配列のキーが存在しない可能性がある場合は
{if !empty($data.key)}で判定する。 - ✅ 文字列を出力する際は
|default:''を添えることで、NULLや未定義を空文字に安全フォールバックする。 - ✅ ループ処理では
{foreachelse}を活用し、空配列時の例外表示をスマートに行う。
Publish
1308 bytes
更新: 2026-11-02 16:15 by admin