PHP Accessing Parent Class Variable

Viewed 116130
class A {
    private $aa;
    protected $bb = 'parent bb';

    function __construct($arg) {
       //do something..
    }

    private function parentmethod($arg2) {
       //do something..
    }
}

class B extends A {
    function __construct($arg) {
        parent::__construct($arg);
    }
    function childfunction() {
        echo parent::$bb; //Fatal error: Undefined class constant 'bb' 
    }
}

$test = new B($some);
$test->childfunction();

Question: How do I display parent variable in child? expected result will echo 'parent bb'

9 Answers
PHP Accessing Parent Class Protected Variable & Methods
class A {
    protected $bb = 'parent bb';
    protected function sayHello(){
        echo 'Say Hello';
    }
}

class B extends A {
    public function childfunction() {
        echo $this->bb.'<br>'; 
        echo $this->sayHello();
    }
}

$test = new B();
$test->childfunction();

Through parent class contructor you can pass data to parent class from child class. Have a look below example for better understanding

<?php

class Student 
{
    public $name;
    function __construct($name){
        $this->name = $name;
    }
}

class Test extends Student
{
    public $age;
    function __construct($name,$age){
        $this->age = $age;
        parent::__construct($name);
    }
}

$obj = new Test("sajib khan" ,21);
echo $obj->name;
echo $obj->age;

?>
class A {
    private $points = 100;

    public function getPoints() {
        return $this->points;
    }
}

class B extends A {
    protected $points = 70;

    public function getPoints() {
        return parent::getPoints();
    }
}

$element = new B();
echo $element->getPoints();

change the visibility private or protected for test

Related