variables can be defined as static also...----- Original Message -----From: 
"Ben Sgro (ProjectSkyLine)" Date: Friday, July 27, 2007 10:52 amSubject: Re: 
[nyphp-talk] OOP Error/QuestionTo: NYPHP Talk > Hello Andy, > > I tried your 
1st, quicker method, I get:> > PHP Fatal error:  Access to undeclared static 
property:  > Error::$builtMessage in /var/www/html/sk/OOPLIB/ERRO.php on line 
81>        self::$builtMessage = $errorStr;> > builtMessage is declared as:>    
    $this->builtMessage = '';> in the class.> > I am still learning OOP and had 
just started it when I wrote > this code ...> So, I may need to rework it, but 
I'd prefer to not do that right now.> > - Ben> > Ben Sgro, Chief Engineer> 
ProjectSkyLine - Defining New Horizons> +1 718.487.9368 (N.Y. Office)> > Our 
company: www.projectskyline.com> Our products: www.project-contact.com> > This 
e-mail is confidential information intended only for the > use of the 
individual to whom it is addressed.>  ----- Original Message ----- >  From: 
Andy Dirnberger >  To: 'NYPHP Talk' >  Sent: Friday, July 27, 2007 10:43 AM>  
Subject: RE: [nyphp-talk] OOP Error/Question> > >  Try self::$builtMessage = 
$errorStr;> >   > >  Or another option is to adopt the singleton pattern.  This 
> will give you the same instance of the Error object anywhere you > try to use 
it in your code.> >   > >  Something like:> >   > >  class Error {> >    
private function __constrct () {> >    }> >   > >    public function 
GetInstance () {> >      If (self::$instance == null) self::$instance = new 
self;> >      Return self::$instance;> >    }> >   > >    public function 
Backtrace () {> >      // code from below> >    }> >   > >    private 
$builtMessage;> >    private static $instance = null;> >  }> >   > >  And in 
your code:> >   > >  $err = Error::GetInstance ();> >  $err->Backtrace ();> >   
> > > -----------------------------------------------------------------> 
-------------> >  From: [EMAIL PROTECTED] [mailto:talk-> [EMAIL PROTECTED] On 
Behalf Of Ben Sgro (ProjectSkyLine)>  Sent: Friday, July 27, 2007 10:29 AM>  
To: NYPHP Talk>  Subject: Re: [nyphp-talk] OOP Error/Question> >   > >  Hello, 
> >   > >  Thanks, both your fixes fixed this issue.> >   > >  However, it 
broke it in another place.> >   > >  PHP Fatal error:  Using $this when not in 
object context in > /var/www/html/sk/OOPLIB/ERRO.php on line 80> >  Inside the 
Backtrace( ) function I have:> >          $this->builtMessage = $errorStr;> >   
> >  To save the message to a string within the object. I can't do > 
self::builtMessage = $errorStr,> >  so what can I do?> >   > >  Here's the 
backtrace function:> >   > >      static function Backtrace( )>      {>         
 $btSet  = debug_backtrace( );>          $iValue = 1; /* [0] is the traceback 
for the Error:: > *///sizeof($btSet) - 1;>          $eSet   = $btSet[$iValue];> 
         >          $errorStr = "\ndate: " . date('r')>                    . 
"\nfile: " . $eSet['file']>                    . "\nline: " . $eSet['line']>    
                . "\nfunction: " . @$eSet['class'] . '::' . > $eSet['function'] 
                   . "\nargs: ";> >   > >          /* Build a list of the 
functions arguments. */>          while(list($argIndex, $argStr) = 
each($eSet['args']))>          {>              $errorStr .= 
"[${argIndex}]$argStr ";>          }>          $this->builtMessage = 
$errorStr;>      }> >   > >  Which is called from another function:> >          
    case LOG_LEVEL_ALERT:>                  self::Backtrace( );> >   > >  - 
Ben> >   > >   > >  Ben Sgro, Chief Engineer>  ProjectSkyLine - Defining New 
Horizons> >  ----- Original Message ----- > >    From: [EMAIL PROTECTED] > >    
To: NYPHP Talk > >    Sent: Friday, July 27, 2007 10:17 AM> >    Subject: Re: 
[nyphp-talk] OOP Error/Question> >     > >    you're calling Error statically, 
so there can't be any > object instance references... instead of 
$this->Backtrace(), use > self::Backtrace();>    ----- Original Message ----->  
  From: "Ben Sgro (ProjectSkyLine)" >    Date: Friday, July 27, 2007 10:10 am>  
  Subject: [nyphp-talk] OOP Error/Question>    To: NYPHP Talk > >    > Good 
morning, >    > >    > So, I have a script where I'm calling:>    > >    > 
function ReceivePOPEmail($popObject)>    > {>    > $error = 
$popObject->Login($popObject->    > >username,$popObject->password,>    > 
$popObject->apop);>    > if ( $error != '' )>    > {>    > /* We've had an 
error. */>    > Error::Log("Error: " . HtmlSpecialChars($error), >    > 
LOG_LEVEL_ALERT); return PROC_FAILURE;>    > }>    > return PROC_SUCCESS;>    > 
}>    > >    > that's function ... I don't want to pass the Error Object >    > 
around, so I just want to call it via:>    > Error:Log(.....);>    > >    > 
Now, inside the Error class, there is this code:>    > case LOG_LEVEL_ALERT:>   
 > $this->Backtrace( );>    > >    > Which is getting executed. But I'm getting 
the error:>    > >    > PHP Fatal error: Using $this when not in object context 
in >    > /var/www/html/sk/OOPLIB/ERRO.php on line 101>    > >    > So, how do 
I call that class's method w/out passing the > object around?>    > >    > - 
Ben>    > >    > >    > Ben Sgro, Chief Engineer>    > ProjectSkyLine - 
Defining New Horizons>    > >    > This e-mail is confidential information 
intended only for > the >    > use of the individual to whom it is addressed.>  
  > > > > -----------------------------------------------------------------> 
-----------> >    _______________________________________________>    New York 
PHP Community Talk Mailing List>    
http://lists.nyphp.org/mailman/listinfo/talk> >    NYPHPCon 2006 Presentations 
Online>    http://www.nyphpcon.com> >    Show Your Participation in New York 
PHP>    http://www.nyphp.org/show_participation.php> > > > 
-----------------------------------------------------------------> 
-------------> > >  _______________________________________________>  New York 
PHP Community Talk Mailing List>  http://lists.nyphp.org/mailman/listinfo/talk> 
>  NYPHPCon 2006 Presentations Online>  http://www.nyphpcon.com> >  Show Your 
Participation in New York PHP>  http://www.nyphp.org/show_participation.php>
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to