[英]PHP Accessing parent class function variables
class A
{
public function child1()
{
$var1 = 'abc';
}
}
class B extends A
{
public function child1()
{
echo parent::$var1; // Return error undefined class constant 'var1'
}
}
在這種情況下如何訪問$ var1? 預期結果:'abc'
首先你不能做class B extends class A
。 正確的語法是class B extends A
:
class A
{
public function child1()
{
$var1 = 'abc';
return $var1;
}
}
class B extends A
{
public function child1()
{
echo parent::child1();
}
}
$temp = new B;
$temp->child1();
現在我所做的就是在你的class A
返回$var1
。
你不能調用echo parent::$var1;
因為它在函數內部,所以你調用父函數echo parent::child1();
。
你需要讓$ var1成為一個類屬性。 請參閱以下代碼:
<?php
class A
{
protected $var1;
public function child1()
{
$this->var1 = 'abc';
}
}
class B extends A
{
public function child1()
{
parent::child1();
echo $this->var1;
}
}
$b = new B();
$b->child1();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.