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

> 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.
>

Well, ob_start can't access a protected method...
Think like, if u can't do ErrorH::SomeMethod, u can't do ob_start(
ErrorH::SomeMethod ).

PS: U really need to call a method of a class that extend your actual class?
It's seems like a bit circular :S

>
> -----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
>
>


-- 
Thanks,

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

Reply via email to