簡體   English   中英

PHP訪問父類函數變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM