April 22, 2012

can an child class access parent class property data?

Question by Eli

I have a child class extending a parent class.

In my parent class have a protected property that stores config data. In the parent class this property has all the configuration files needed.

But in the child class I cannot access that data. How can I bring over the config property data into the child class?

I am using

class Child extends Parent
{
    public function __construct()
    {
        print_r($this->config);
    }
}

but i get an empty response.

Answer by Starx

Unless the resource is Private you can

There are basically to ways to access the parent resource:

  1. parent::{resource identifier}; eg. parent::config;
  2. $this -> {resource identifier}; Unless the resource is overridden

Now, coming to the part, of which might cause this issue.

The parent constructor might need to run, in order to store the configuration. SO,

class Child extends Parent
{
    public function __construct()
    {
        parent::__construct();
        print_r($this->config);
    }
}

Author: Nabin Nepal (Starx)

Hello, I am Nabin Nepal and you can call me Starx. This is my blog where write about my life and my involvements. I am a Software Developer, A Cyclist and a Realist. I hope you will find my blog interesting. Follow me on Google+

...

Please fill the form - I will response as fast as I can!