Abstract class Output_Buffering {
        Protected static function obStart () {
                Ob_start ('ErrorH::obHandler');
                Set_our_error_handler ('some_error_h_we_have');
        }
}

Class ErrorH extends Output_Buffering {
        Protected static obHandler {
                SNIPET OF CODE to detect parse errors, save the content in
an array that will be outputted at the end of the script!
        }
}

If the "obHandler" method is "public" the "$this->getMe ()" from GLOBAL
context will get detected. If "protected", the obHandler method, for the
"$this->getMe ()" error isn't even called.

        I know this because when it's public I can generate the error and
"error_log ()" it, but when it is "protected", the error_log isn't even
called inside the obHandler method, so the obHandler method isn't even
called.

-----Original Message-----
From: Diogo Neves [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 04, 2008 6:29 PM
To: Catalin Zamfir Alexandru | KIT Software CAZ
Cc: PHP Internals List
Subject: Re: [PHP-DEV] Ob_start, "protected" obHandler method, nod detecting
$this->geMe () kind of error!

On Thu, Sep 4, 2008 at 3:36 PM, Catalin Zamfir Alexandru | KIT Software CAZ
<[EMAIL PROTECTED]> wrote:

> This is my PHP:
> PHP 5.2.6-pl6-gentoo (cli) (built: Aug 17 2008 01:02:28)
> Copyright (c) 1997-2008 The PHP Group
> Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
>
> -----Original Message-----
> From: Catalin Zamfir Alexandru | KIT Software CAZ
> [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 04, 2008 5:34 PM
> To: 'Diogo Neves'
> Cc: 'PHP Internals List'
> Subject: RE: [PHP-DEV] Ob_start, "protected" obHandler method, nod
> detecting
> $this->geMe () kind of error!
>
> Yes, that's the "so-called bug" I'm talking about. Having the obHandler
> marked as "protected" makes "$this->getMe ()" kind of errors, from GLOBAL
> context undetectable, while Parse/Notice/Warning errors are stil there,
> even
> if the "$this->getMe ()" error is marked as "Fatal Error:". Here: Fatal
> error: Using $this when not in object context in
> /var/www/localhost/htdocs/dev/ALFA/index.php on line 26 (this is when
> obHandler = public).
>
> A blank page = when obHandler = protected, but Parse/Notice/any other kind
> of errors are still detected. :)
>
> -----Original Message-----
> From: Diogo Neves [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 04, 2008 5:24 PM
> To: Catalin Zamfir Alexandru | KIT Software CAZ
> Cc: PHP Internals List
> Subject: Re: [PHP-DEV] Ob_start, "protected" obHandler method, nod
> detecting
> $this->geMe () kind of error!
>
> On Thu, Sep 4, 2008 at 3:21 PM, Catalin Zamfir Alexandru | KIT Software
CAZ
> <[EMAIL PROTECTED]> wrote:
>
> > Yes, excuse my English would be appropriate. I was in a hurry when
> writing
> > the email. Waiting for feedback from you guys ...
> >
> > -----Original Message-----
> > From: Catalin Zamfir Alexandru | KIT Software CAZ
> > [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, September 04, 2008 5:17 PM
> > To: 'PHP Internals List'
> > Subject: [PHP-DEV] Ob_start, "protected" obHandler method, nod detecting
> > $this->geMe () kind of error!
> >
> > Hello guys,
> >
> >                We have too clases:
> >
> > -          Abstract class OutputBuffering
> >
> > -          Class ErrorHandler extends OutputBuffering, implements
> obHandler
> > as a "protected" method. I can detect: set_error_handler errors, through
> a
> > specific error handler (and obError method - I can detect any
> > notice/warning/fatal) and also "Parse errors" in obHandler, through
> > "parsing" error_prepend/error_append strings in the Output Buffer
string.
> >
> >
> >
> > When the obHandler methos is "protected", the "$this->getMe ()" from
> GLOBAL
> > context cannot be detected. When the method is "public", the detection
> goes
> > as usual. The MANUAL Page on "ob_start" doesn't say anything about
> > declaring
> > the method "public". What if I want the "obHandler" method to not be
> > accessible by the developer, but only by inheriting objects?!
> >
> >
> >
> > Thanks for any feedback.
> >
> >
> >
> > Regards,
> >
> > Catalin Z. Alexandru
> >
> >
> >
> > --
> > PHP Internals - PHP Runtime Development Mailing List
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> > Did you tried protected? I'm not really good with this things, but a
> protected method can be inherited but not acessed outside the class ;)
>
> --
> Thanks,
>
> Diogo Neves
> Web Developer @ SAPO.pt by PrimeIT.pt
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> Can you send a small example of code?


-- 
Thanks,

Diogo Neves
Web Developer @ SAPO.pt by PrimeIT.pt


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to