1. ホーム
  2. php

[解決済み] PHPエラー: 致命的なエラーです。定数式に無効な演算が含まれています

2022-01-29 14:03:15

質問

エラーが発生するのですが。

致命的なエラーです。定数式に無効な演算が含まれています。 config.php の 214 行目

その行は

 protected static $dbname = 'mydb_'.$appdata['id'];

引用符の中に間違いがあったかどうか?それとも他の場所?

エラーメッセージを検索しても、別の原因(関数定義内の動的なデフォルト値)しか出てきません。

解決方法は?

からの 公式Phpドキュメント :

他の PHP の静的変数と同様に、静的プロパティも PHP 5.6 より前のバージョンではリテラルか定数を用いてのみ初期化することができます。PHP 5.6 以降では、const 式と同じ規則が適用されます。コンパイル時に評価できるのであれば、いくつかの限定された式は可能です。

ですから、スタティック変数を他の変数で初期化することはできません。置き換える $appdata['id'] を定数文字列で置き換えるか static 属性で指定します。

これは、以下の理由からです。 すべての静的宣言は、コンパイル時に解決されます。 他の変数の内容が不明な場合( 公式ドキュメントのこの他のページ ).