You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-user@logging.apache.org by Ivan Habunek <iv...@gmail.com> on 2011/09/01 08:29:11 UTC

Re: Can not access object from extended class

On 31.8.2011. 19:09, Michael Sole wrote:
> Actually this is how I have it:
> http://pastebin.com/1Z1EcQcZ
>
> And the error is:
> Fatal error: Call to a member function info() on a non-object in
>
> And in this case it would be on this line:
> $this->log->info("From within");

The example you provided works ok on my machine.

The error says that you do not have an object in $this->log. Can you 
double check what is stored in $this->log after you initialize it? E.g. 
use a var_dump just after line 11.

It should contain a Logger object at that point.

Regards,
Ivan






Re: Can not access object from extended class

Posted by Christian Grobmeier <gr...@gmail.com>.
Mike,

the "Elder" constructor is not called by default in PHP.

You must use


function __construct() {
       parent::__construct();
...


in your "Young" class, then it should work.

Cheers


On Fri, Sep 2, 2011 at 5:19 PM, Michael Sole <ms...@gold-mobile.com> wrote:
> Ivan,
>
> I think the problem may have to do with the fact we are using a
> spl_autoload_register to call our classes and then we are calling the
> logger by manually including the class file into the other class files.
>
> Can you provide me with a code example that shows the right way of doing
> this?
>
> Thanks,
> Mike
>
> -----Original Message-----
> From: Ivan Habunek [mailto:ivan.habunek@gmail.com]
> Sent: Thursday, September 01, 2011 2:29 AM
> To: Log4PHP User
> Subject: Re: Can not access object from extended class
>
> On 31.8.2011. 19:09, Michael Sole wrote:
>> Actually this is how I have it:
>> http://pastebin.com/1Z1EcQcZ
>>
>> And the error is:
>> Fatal error: Call to a member function info() on a non-object in
>>
>> And in this case it would be on this line:
>> $this->log->info("From within");
>
> The example you provided works ok on my machine.
>
> The error says that you do not have an object in $this->log. Can you
> double check what is stored in $this->log after you initialize it? E.g.
> use a var_dump just after line 11.
>
> It should contain a Logger object at that point.
>
> Regards,
> Ivan
>
>
>
>
>
>



-- 
http://www.grobmeier.de

RE: Can not access object from extended class

Posted by Michael Sole <ms...@gold-mobile.com>.
Ivan,

I think the problem may have to do with the fact we are using a
spl_autoload_register to call our classes and then we are calling the
logger by manually including the class file into the other class files.

Can you provide me with a code example that shows the right way of doing
this?

Thanks,
Mike

-----Original Message-----
From: Ivan Habunek [mailto:ivan.habunek@gmail.com] 
Sent: Thursday, September 01, 2011 2:29 AM
To: Log4PHP User
Subject: Re: Can not access object from extended class

On 31.8.2011. 19:09, Michael Sole wrote:
> Actually this is how I have it:
> http://pastebin.com/1Z1EcQcZ
>
> And the error is:
> Fatal error: Call to a member function info() on a non-object in
>
> And in this case it would be on this line:
> $this->log->info("From within");

The example you provided works ok on my machine.

The error says that you do not have an object in $this->log. Can you
double check what is stored in $this->log after you initialize it? E.g. 
use a var_dump just after line 11.

It should contain a Logger object at that point.

Regards,
Ivan