「Phpのclassの変数を取得代入する際のエラーについて」の版間の差分
ナビゲーションに移動
検索に移動
Sufee Admin (トーク | 投稿記録) |
Sufee Admin (トーク | 投稿記録) 編集の要約なし |
||
1行目: | 1行目: | ||
==概要== | ==概要== | ||
Fatal error: Uncaught Error: Typed property $this->val must not be accessed before initialization | Fatal error: Uncaught Error: Typed property $this->val must not be accessed before initialization <br> | ||
つまり変数が型のなにかに初期化されておらずundefinedの状態で呼び出すなということ(?) | つまり変数が型のなにかに初期化されておらずundefinedの状態で呼び出すなということ(?) | ||
==例== | ==例== |
2022年3月24日 (木) 00:09時点における最新版
概要
Fatal error: Uncaught Error: Typed property $this->val must not be accessed before initialization
つまり変数が型のなにかに初期化されておらずundefinedの状態で呼び出すなということ(?)
例
原因となるClass
class Cat
{
private string $val;
function set($q)
{
$this->val = $q;
}
function get()
{
return $this->val;
}
}
$love = new Cat();
$love->set("シャム猫");
echo $love.get();
// Fatal error: Uncaught Error: Typed property Cat::$val must not be accessed before initialization line 6
対処法
class Cat
{
private string $val = "猫";
function set($q)
{
$this->val = $q;
}
function get()
{
return $this->val;
}
}
$love = new Cat();
$love->set("シャム猫");
echo $love.get();
// シャム猫