Phpのclassの変数を取得代入する際のエラーについて
ナビゲーションに移動
検索に移動
概要
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();
// シャム猫